1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035 |
- var Kc = Object.defineProperty
- var qc = (e, t, n) => (t in e ? Kc(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : (e[t] = n))
- var Qo = (e, t, n) => qc(e, typeof t != 'symbol' ? t + '' : t, n)
- import {
- i as _c,
- a as cn,
- g as $i,
- r as Pt,
- d as Xo,
- b as $c,
- c as Dr,
- e as eu,
- f as un,
- h as es,
- j as tu,
- k as Zr,
- l as Ut,
- S as kn,
- L as ao,
- M as Wi,
- m as Sr,
- t as zn,
- n as nu,
- o as Nr,
- p as ro,
- q as jr,
- s as en,
- u as Gr,
- v as iu,
- w as q,
- x as ts,
- y as su,
- z as kr,
- A as ze,
- B as C,
- C as ou,
- D as Bs,
- E as Br,
- F as au,
- G as Ne,
- H as ru,
- I as tt,
- J as ye,
- K as ee,
- N as Q,
- O as he,
- P as M,
- Q as Vt,
- R as T,
- T as Z,
- U as $,
- V as dn,
- W as h,
- X as dt,
- Y,
- Z as di,
- _ as Ys,
- $ as Nt,
- a0 as Yr,
- a1 as lu,
- a2 as de,
- a3 as Be,
- a4 as ht,
- a5 as cu,
- a6 as uu,
- a7 as Nn,
- a8 as Oe,
- a9 as Ee,
- aa as du,
- ab as pi,
- ac as ns,
- ad as X,
- ae as je,
- af as B,
- ag as _,
- ah as x,
- ai as Fe,
- aj as P,
- ak as Ze,
- al as Fi,
- am as ce,
- an as Ue,
- ao as vt,
- ap as xe,
- aq as We,
- ar as bn,
- as as at,
- at as it,
- au as lt,
- av as pu,
- aw as Ur,
- ax as Au,
- ay as Tr,
- az as gu,
- aA as Yt,
- aB as fu,
- aC as Jr,
- aD as Tt,
- aE as Ye,
- aF as bu,
- aG as is,
- aH as hu,
- aI as vu,
- aJ as Le,
- aK as mu,
- aL as Wn,
- aM as Us,
- aN as Ts,
- aO as Li,
- aP as xi,
- aQ as Fn,
- aR as lo,
- aS as yu,
- aT as ms,
- aU as wu,
- aV as Ru,
- aW as Iu,
- aX as Eu,
- aY as Mu,
- aZ as Du,
- a_ as $t,
- a$ as Zu,
- b0 as Jt,
- b1 as _n,
- b2 as Su,
- b3 as Nu,
- b4 as ju,
- b5 as Gu,
- b6 as ku,
- b7 as Et,
- b8 as Cr,
- b9 as Po,
- ba as Bu,
- bb as Yu,
- bc as co,
- } from './index-DmgdtqYn.js'
- var Uu = /\s/
- function Tu(e) {
- for (var t = e.length; t-- && Uu.test(e.charAt(t)); );
- return t
- }
- var Ju = /^\s+/
- function Cu(e) {
- return e && e.slice(0, Tu(e) + 1).replace(Ju, '')
- }
- var Ho = NaN,
- Ou = /^[-+]0x[0-9a-f]+$/i,
- zu = /^0b[01]+$/i,
- Wu = /^0o[0-7]+$/i,
- Fu = parseInt
- function Ko(e) {
- if (typeof e == 'number') return e
- if (_c(e)) return Ho
- if (cn(e)) {
- var t = typeof e.valueOf == 'function' ? e.valueOf() : e
- e = cn(t) ? t + '' : t
- }
- if (typeof e != 'string') return e === 0 ? e : +e
- e = Cu(e)
- var n = zu.test(e)
- return n || Wu.test(e) ? Fu(e.slice(2), n ? 2 : 8) : Ou.test(e) ? Ho : +e
- }
- function Or(e) {
- return e
- }
- var Js = $i(Pt, 'WeakMap'),
- qo = Object.create,
- Lu = (function () {
- function e() {}
- return function (t) {
- if (!cn(t)) return {}
- if (qo) return qo(t)
- e.prototype = t
- var n = new e()
- return (e.prototype = void 0), n
- }
- })()
- function xu(e, t, n) {
- switch (n.length) {
- case 0:
- return e.call(t)
- case 1:
- return e.call(t, n[0])
- case 2:
- return e.call(t, n[0], n[1])
- case 3:
- return e.call(t, n[0], n[1], n[2])
- }
- return e.apply(t, n)
- }
- function Vu(e, t) {
- var n = -1,
- i = e.length
- for (t || (t = Array(i)); ++n < i; ) t[n] = e[n]
- return t
- }
- var Qu = 800,
- Xu = 16,
- Pu = Date.now
- function Hu(e) {
- var t = 0,
- n = 0
- return function () {
- var i = Pu(),
- s = Xu - (i - n)
- if (((n = i), s > 0)) {
- if (++t >= Qu) return arguments[0]
- } else t = 0
- return e.apply(void 0, arguments)
- }
- }
- function Ku(e) {
- return function () {
- return e
- }
- }
- var qu = Xo
- ? function (e, t) {
- return Xo(e, 'toString', { configurable: !0, enumerable: !1, value: Ku(t), writable: !0 })
- }
- : Or,
- _u = Hu(qu)
- function $u(e, t) {
- for (var n = -1, i = e == null ? 0 : e.length; ++n < i && t(e[n], n, e) !== !1; );
- return e
- }
- function ed(e, t, n, i) {
- e.length
- for (var s = n + 1; s--; ) if (t(e[s], s, e)) return s
- return -1
- }
- function ss(e, t, n, i) {
- var s = !n
- n || (n = {})
- for (var a = -1, o = t.length; ++a < o; ) {
- var r = t[a],
- l = void 0
- l === void 0 && (l = e[r]), s ? $c(n, r, l) : Dr(n, r, l)
- }
- return n
- }
- var _o = Math.max
- function td(e, t, n) {
- return (
- (t = _o(t === void 0 ? e.length - 1 : t, 0)),
- function () {
- for (var i = arguments, s = -1, a = _o(i.length - t, 0), o = Array(a); ++s < a; ) o[s] = i[t + s]
- s = -1
- for (var r = Array(t + 1); ++s < t; ) r[s] = i[s]
- return (r[t] = n(o)), xu(e, this, r)
- }
- )
- }
- var nd = 9007199254740991
- function uo(e) {
- return typeof e == 'number' && e > -1 && e % 1 == 0 && e <= nd
- }
- function zr(e) {
- return e != null && uo(e.length) && !eu(e)
- }
- var id = Object.prototype
- function po(e) {
- var t = e && e.constructor,
- n = (typeof t == 'function' && t.prototype) || id
- return e === n
- }
- function sd(e, t) {
- for (var n = -1, i = Array(e); ++n < e; ) i[n] = t(n)
- return i
- }
- var od = '[object Arguments]'
- function $o(e) {
- return un(e) && es(e) == od
- }
- var Wr = Object.prototype,
- ad = Wr.hasOwnProperty,
- rd = Wr.propertyIsEnumerable,
- Ao = $o(
- (function () {
- return arguments
- })()
- )
- ? $o
- : function (e) {
- return un(e) && ad.call(e, 'callee') && !rd.call(e, 'callee')
- }
- function ld() {
- return !1
- }
- var Fr = typeof exports == 'object' && exports && !exports.nodeType && exports,
- ea = Fr && typeof module == 'object' && module && !module.nodeType && module,
- cd = ea && ea.exports === Fr,
- ta = cd ? Pt.Buffer : void 0,
- ud = ta ? ta.isBuffer : void 0,
- Vi = ud || ld,
- dd = '[object Arguments]',
- pd = '[object Array]',
- Ad = '[object Boolean]',
- gd = '[object Date]',
- fd = '[object Error]',
- bd = '[object Function]',
- hd = '[object Map]',
- vd = '[object Number]',
- md = '[object Object]',
- yd = '[object RegExp]',
- wd = '[object Set]',
- Rd = '[object String]',
- Id = '[object WeakMap]',
- Ed = '[object ArrayBuffer]',
- Md = '[object DataView]',
- Dd = '[object Float32Array]',
- Zd = '[object Float64Array]',
- Sd = '[object Int8Array]',
- Nd = '[object Int16Array]',
- jd = '[object Int32Array]',
- Gd = '[object Uint8Array]',
- kd = '[object Uint8ClampedArray]',
- Bd = '[object Uint16Array]',
- Yd = '[object Uint32Array]',
- me = {}
- me[Dd] = me[Zd] = me[Sd] = me[Nd] = me[jd] = me[Gd] = me[kd] = me[Bd] = me[Yd] = !0
- me[dd] =
- me[pd] =
- me[Ed] =
- me[Ad] =
- me[Md] =
- me[gd] =
- me[fd] =
- me[bd] =
- me[hd] =
- me[vd] =
- me[md] =
- me[yd] =
- me[wd] =
- me[Rd] =
- me[Id] =
- !1
- function Ud(e) {
- return un(e) && uo(e.length) && !!me[es(e)]
- }
- function go(e) {
- return function (t) {
- return e(t)
- }
- }
- var Lr = typeof exports == 'object' && exports && !exports.nodeType && exports,
- ii = Lr && typeof module == 'object' && module && !module.nodeType && module,
- Td = ii && ii.exports === Lr,
- ys = Td && tu.process,
- Bn = (function () {
- try {
- var e = ii && ii.require && ii.require('util').types
- return e || (ys && ys.binding && ys.binding('util'))
- } catch {}
- })(),
- na = Bn && Bn.isTypedArray,
- xr = na ? go(na) : Ud,
- Jd = Object.prototype,
- Cd = Jd.hasOwnProperty
- function Vr(e, t) {
- var n = Ut(e),
- i = !n && Ao(e),
- s = !n && !i && Vi(e),
- a = !n && !i && !s && xr(e),
- o = n || i || s || a,
- r = o ? sd(e.length, String) : [],
- l = r.length
- for (var d in e)
- (t || Cd.call(e, d)) &&
- !(
- o &&
- (d == 'length' ||
- (s && (d == 'offset' || d == 'parent')) ||
- (a && (d == 'buffer' || d == 'byteLength' || d == 'byteOffset')) ||
- Zr(d, l))
- ) &&
- r.push(d)
- return r
- }
- function Qr(e, t) {
- return function (n) {
- return e(t(n))
- }
- }
- var Od = Qr(Object.keys, Object),
- zd = Object.prototype,
- Wd = zd.hasOwnProperty
- function Fd(e) {
- if (!po(e)) return Od(e)
- var t = []
- for (var n in Object(e)) Wd.call(e, n) && n != 'constructor' && t.push(n)
- return t
- }
- function fo(e) {
- return zr(e) ? Vr(e) : Fd(e)
- }
- function Ld(e) {
- var t = []
- if (e != null) for (var n in Object(e)) t.push(n)
- return t
- }
- var xd = Object.prototype,
- Vd = xd.hasOwnProperty
- function Qd(e) {
- if (!cn(e)) return Ld(e)
- var t = po(e),
- n = []
- for (var i in e) (i == 'constructor' && (t || !Vd.call(e, i))) || n.push(i)
- return n
- }
- function Xd(e) {
- return zr(e) ? Vr(e, !0) : Qd(e)
- }
- function bo(e, t) {
- for (var n = -1, i = t.length, s = e.length; ++n < i; ) e[s + n] = t[n]
- return e
- }
- var ia = kn ? kn.isConcatSpreadable : void 0
- function Pd(e) {
- return Ut(e) || Ao(e) || !!(ia && e && e[ia])
- }
- function Hd(e, t, n, i, s) {
- var a = -1,
- o = e.length
- for (n || (n = Pd), s || (s = []); ++a < o; ) {
- var r = e[a]
- n(r) ? bo(s, r) : (s[s.length] = r)
- }
- return s
- }
- function Kd(e) {
- var t = e == null ? 0 : e.length
- return t ? Hd(e) : []
- }
- function qd(e) {
- return _u(td(e, void 0, Kd), e + '')
- }
- var Xr = Qr(Object.getPrototypeOf, Object)
- function ft() {
- if (!arguments.length) return []
- var e = arguments[0]
- return Ut(e) ? e : [e]
- }
- function _d() {
- ;(this.__data__ = new ao()), (this.size = 0)
- }
- function $d(e) {
- var t = this.__data__,
- n = t.delete(e)
- return (this.size = t.size), n
- }
- function ep(e) {
- return this.__data__.get(e)
- }
- function tp(e) {
- return this.__data__.has(e)
- }
- var np = 200
- function ip(e, t) {
- var n = this.__data__
- if (n instanceof ao) {
- var i = n.__data__
- if (!Wi || i.length < np - 1) return i.push([e, t]), (this.size = ++n.size), this
- n = this.__data__ = new Sr(i)
- }
- return n.set(e, t), (this.size = n.size), this
- }
- function Mt(e) {
- var t = (this.__data__ = new ao(e))
- this.size = t.size
- }
- Mt.prototype.clear = _d
- Mt.prototype.delete = $d
- Mt.prototype.get = ep
- Mt.prototype.has = tp
- Mt.prototype.set = ip
- function sp(e, t) {
- return e && ss(t, fo(t), e)
- }
- function op(e, t) {
- return e && ss(t, Xd(t), e)
- }
- var Pr = typeof exports == 'object' && exports && !exports.nodeType && exports,
- sa = Pr && typeof module == 'object' && module && !module.nodeType && module,
- ap = sa && sa.exports === Pr,
- oa = ap ? Pt.Buffer : void 0,
- aa = oa ? oa.allocUnsafe : void 0
- function rp(e, t) {
- var n = e.length,
- i = aa ? aa(n) : new e.constructor(n)
- return e.copy(i), i
- }
- function lp(e, t) {
- for (var n = -1, i = e == null ? 0 : e.length, s = 0, a = []; ++n < i; ) {
- var o = e[n]
- t(o, n, e) && (a[s++] = o)
- }
- return a
- }
- function Hr() {
- return []
- }
- var cp = Object.prototype,
- up = cp.propertyIsEnumerable,
- ra = Object.getOwnPropertySymbols,
- ho = ra
- ? function (e) {
- return e == null
- ? []
- : ((e = Object(e)),
- lp(ra(e), function (t) {
- return up.call(e, t)
- }))
- }
- : Hr
- function dp(e, t) {
- return ss(e, ho(e), t)
- }
- var pp = Object.getOwnPropertySymbols,
- Ap = pp
- ? function (e) {
- for (var t = []; e; ) bo(t, ho(e)), (e = Xr(e))
- return t
- }
- : Hr
- function gp(e, t) {
- return ss(e, Ap(e), t)
- }
- function fp(e, t, n) {
- var i = t(e)
- return Ut(e) ? i : bo(i, n(e))
- }
- function Cs(e) {
- return fp(e, fo, ho)
- }
- var Os = $i(Pt, 'DataView'),
- zs = $i(Pt, 'Promise'),
- Ws = $i(Pt, 'Set'),
- la = '[object Map]',
- bp = '[object Object]',
- ca = '[object Promise]',
- ua = '[object Set]',
- da = '[object WeakMap]',
- pa = '[object DataView]',
- hp = zn(Os),
- vp = zn(Wi),
- mp = zn(zs),
- yp = zn(Ws),
- wp = zn(Js),
- gt = es
- ;((Os && gt(new Os(new ArrayBuffer(1))) != pa) ||
- (Wi && gt(new Wi()) != la) ||
- (zs && gt(zs.resolve()) != ca) ||
- (Ws && gt(new Ws()) != ua) ||
- (Js && gt(new Js()) != da)) &&
- (gt = function (e) {
- var t = es(e),
- n = t == bp ? e.constructor : void 0,
- i = n ? zn(n) : ''
- if (i)
- switch (i) {
- case hp:
- return pa
- case vp:
- return la
- case mp:
- return ca
- case yp:
- return ua
- case wp:
- return da
- }
- return t
- })
- var Rp = Object.prototype,
- Ip = Rp.hasOwnProperty
- function Ep(e) {
- var t = e.length,
- n = new e.constructor(t)
- return t && typeof e[0] == 'string' && Ip.call(e, 'index') && ((n.index = e.index), (n.input = e.input)), n
- }
- var Qi = Pt.Uint8Array
- function Mp(e) {
- var t = new e.constructor(e.byteLength)
- return new Qi(t).set(new Qi(e)), t
- }
- function Dp(e, t) {
- var n = e.buffer
- return new e.constructor(n, e.byteOffset, e.byteLength)
- }
- var Zp = /\w*$/
- function Sp(e) {
- var t = new e.constructor(e.source, Zp.exec(e))
- return (t.lastIndex = e.lastIndex), t
- }
- var Aa = kn ? kn.prototype : void 0,
- ga = Aa ? Aa.valueOf : void 0
- function Np(e) {
- return ga ? Object(ga.call(e)) : {}
- }
- function jp(e, t) {
- var n = e.buffer
- return new e.constructor(n, e.byteOffset, e.length)
- }
- var Gp = '[object Boolean]',
- kp = '[object Date]',
- Bp = '[object Map]',
- Yp = '[object Number]',
- Up = '[object RegExp]',
- Tp = '[object Set]',
- Jp = '[object String]',
- Cp = '[object Symbol]',
- Op = '[object ArrayBuffer]',
- zp = '[object DataView]',
- Wp = '[object Float32Array]',
- Fp = '[object Float64Array]',
- Lp = '[object Int8Array]',
- xp = '[object Int16Array]',
- Vp = '[object Int32Array]',
- Qp = '[object Uint8Array]',
- Xp = '[object Uint8ClampedArray]',
- Pp = '[object Uint16Array]',
- Hp = '[object Uint32Array]'
- function Kp(e, t, n) {
- var i = e.constructor
- switch (t) {
- case Op:
- return Mp(e)
- case Gp:
- case kp:
- return new i(+e)
- case zp:
- return Dp(e)
- case Wp:
- case Fp:
- case Lp:
- case xp:
- case Vp:
- case Qp:
- case Xp:
- case Pp:
- case Hp:
- return jp(e)
- case Bp:
- return new i()
- case Yp:
- case Jp:
- return new i(e)
- case Up:
- return Sp(e)
- case Tp:
- return new i()
- case Cp:
- return Np(e)
- }
- }
- function qp(e) {
- return typeof e.constructor == 'function' && !po(e) ? Lu(Xr(e)) : {}
- }
- var _p = '[object Map]'
- function $p(e) {
- return un(e) && gt(e) == _p
- }
- var fa = Bn && Bn.isMap,
- eA = fa ? go(fa) : $p,
- tA = '[object Set]'
- function nA(e) {
- return un(e) && gt(e) == tA
- }
- var ba = Bn && Bn.isSet,
- iA = ba ? go(ba) : nA,
- sA = 2,
- Kr = '[object Arguments]',
- oA = '[object Array]',
- aA = '[object Boolean]',
- rA = '[object Date]',
- lA = '[object Error]',
- qr = '[object Function]',
- cA = '[object GeneratorFunction]',
- uA = '[object Map]',
- dA = '[object Number]',
- _r = '[object Object]',
- pA = '[object RegExp]',
- AA = '[object Set]',
- gA = '[object String]',
- fA = '[object Symbol]',
- bA = '[object WeakMap]',
- hA = '[object ArrayBuffer]',
- vA = '[object DataView]',
- mA = '[object Float32Array]',
- yA = '[object Float64Array]',
- wA = '[object Int8Array]',
- RA = '[object Int16Array]',
- IA = '[object Int32Array]',
- EA = '[object Uint8Array]',
- MA = '[object Uint8ClampedArray]',
- DA = '[object Uint16Array]',
- ZA = '[object Uint32Array]',
- be = {}
- be[Kr] =
- be[oA] =
- be[hA] =
- be[vA] =
- be[aA] =
- be[rA] =
- be[mA] =
- be[yA] =
- be[wA] =
- be[RA] =
- be[IA] =
- be[uA] =
- be[dA] =
- be[_r] =
- be[pA] =
- be[AA] =
- be[gA] =
- be[fA] =
- be[EA] =
- be[MA] =
- be[DA] =
- be[ZA] =
- !0
- be[lA] = be[qr] = be[bA] = !1
- function Yi(e, t, n, i, s, a) {
- var o,
- r = t & sA
- if (o !== void 0) return o
- if (!cn(e)) return e
- var l = Ut(e)
- if (l) return (o = Ep(e)), Vu(e, o)
- var d = gt(e),
- c = d == qr || d == cA
- if (Vi(e)) return rp(e)
- if (d == _r || d == Kr || (c && !s)) return (o = c ? {} : qp(e)), r ? gp(e, op(o, e)) : dp(e, sp(o, e))
- if (!be[d]) return s ? e : {}
- ;(o = Kp(e, d)), a || (a = new Mt())
- var A = a.get(e)
- if (A) return A
- a.set(e, o),
- iA(e)
- ? e.forEach(function (u) {
- o.add(Yi(u, t, n, u, e, a))
- })
- : eA(e) &&
- e.forEach(function (u, p) {
- o.set(p, Yi(u, t, n, p, e, a))
- })
- var g = Cs,
- b = l ? void 0 : g(e)
- return (
- $u(b || e, function (u, p) {
- b && ((p = u), (u = e[p])), Dr(o, p, Yi(u, t, n, p, e, a))
- }),
- o
- )
- }
- var SA = 4
- function ha(e) {
- return Yi(e, SA)
- }
- var NA = '__lodash_hash_undefined__'
- function jA(e) {
- return this.__data__.set(e, NA), this
- }
- function GA(e) {
- return this.__data__.has(e)
- }
- function Xi(e) {
- var t = -1,
- n = e == null ? 0 : e.length
- for (this.__data__ = new Sr(); ++t < n; ) this.add(e[t])
- }
- Xi.prototype.add = Xi.prototype.push = jA
- Xi.prototype.has = GA
- function kA(e, t) {
- for (var n = -1, i = e == null ? 0 : e.length; ++n < i; ) if (t(e[n], n, e)) return !0
- return !1
- }
- function BA(e, t) {
- return e.has(t)
- }
- var YA = 1,
- UA = 2
- function $r(e, t, n, i, s, a) {
- var o = n & YA,
- r = e.length,
- l = t.length
- if (r != l && !(o && l > r)) return !1
- var d = a.get(e),
- c = a.get(t)
- if (d && c) return d == t && c == e
- var A = -1,
- g = !0,
- b = n & UA ? new Xi() : void 0
- for (a.set(e, t), a.set(t, e); ++A < r; ) {
- var u = e[A],
- p = t[A]
- if (i) var v = o ? i(p, u, A, t, e, a) : i(u, p, A, e, t, a)
- if (v !== void 0) {
- if (v) continue
- g = !1
- break
- }
- if (b) {
- if (
- !kA(t, function (f, w) {
- if (!BA(b, w) && (u === f || s(u, f, n, i, a))) return b.push(w)
- })
- ) {
- g = !1
- break
- }
- } else if (!(u === p || s(u, p, n, i, a))) {
- g = !1
- break
- }
- }
- return a.delete(e), a.delete(t), g
- }
- function TA(e) {
- var t = -1,
- n = Array(e.size)
- return (
- e.forEach(function (i, s) {
- n[++t] = [s, i]
- }),
- n
- )
- }
- function JA(e) {
- var t = -1,
- n = Array(e.size)
- return (
- e.forEach(function (i) {
- n[++t] = i
- }),
- n
- )
- }
- var CA = 1,
- OA = 2,
- zA = '[object Boolean]',
- WA = '[object Date]',
- FA = '[object Error]',
- LA = '[object Map]',
- xA = '[object Number]',
- VA = '[object RegExp]',
- QA = '[object Set]',
- XA = '[object String]',
- PA = '[object Symbol]',
- HA = '[object ArrayBuffer]',
- KA = '[object DataView]',
- va = kn ? kn.prototype : void 0,
- ws = va ? va.valueOf : void 0
- function qA(e, t, n, i, s, a, o) {
- switch (n) {
- case KA:
- if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1
- ;(e = e.buffer), (t = t.buffer)
- case HA:
- return !(e.byteLength != t.byteLength || !a(new Qi(e), new Qi(t)))
- case zA:
- case WA:
- case xA:
- return nu(+e, +t)
- case FA:
- return e.name == t.name && e.message == t.message
- case VA:
- case XA:
- return e == t + ''
- case LA:
- var r = TA
- case QA:
- var l = i & CA
- if ((r || (r = JA), e.size != t.size && !l)) return !1
- var d = o.get(e)
- if (d) return d == t
- ;(i |= OA), o.set(e, t)
- var c = $r(r(e), r(t), i, s, a, o)
- return o.delete(e), c
- case PA:
- if (ws) return ws.call(e) == ws.call(t)
- }
- return !1
- }
- var _A = 1,
- $A = Object.prototype,
- eg = $A.hasOwnProperty
- function tg(e, t, n, i, s, a) {
- var o = n & _A,
- r = Cs(e),
- l = r.length,
- d = Cs(t),
- c = d.length
- if (l != c && !o) return !1
- for (var A = l; A--; ) {
- var g = r[A]
- if (!(o ? g in t : eg.call(t, g))) return !1
- }
- var b = a.get(e),
- u = a.get(t)
- if (b && u) return b == t && u == e
- var p = !0
- a.set(e, t), a.set(t, e)
- for (var v = o; ++A < l; ) {
- g = r[A]
- var f = e[g],
- w = t[g]
- if (i) var R = o ? i(w, f, g, t, e, a) : i(f, w, g, e, t, a)
- if (!(R === void 0 ? f === w || s(f, w, n, i, a) : R)) {
- p = !1
- break
- }
- v || (v = g == 'constructor')
- }
- if (p && !v) {
- var I = e.constructor,
- y = t.constructor
- I != y &&
- 'constructor' in e &&
- 'constructor' in t &&
- !(typeof I == 'function' && I instanceof I && typeof y == 'function' && y instanceof y) &&
- (p = !1)
- }
- return a.delete(e), a.delete(t), p
- }
- var ng = 1,
- ma = '[object Arguments]',
- ya = '[object Array]',
- Ii = '[object Object]',
- ig = Object.prototype,
- wa = ig.hasOwnProperty
- function sg(e, t, n, i, s, a) {
- var o = Ut(e),
- r = Ut(t),
- l = o ? ya : gt(e),
- d = r ? ya : gt(t)
- ;(l = l == ma ? Ii : l), (d = d == ma ? Ii : d)
- var c = l == Ii,
- A = d == Ii,
- g = l == d
- if (g && Vi(e)) {
- if (!Vi(t)) return !1
- ;(o = !0), (c = !1)
- }
- if (g && !c) return a || (a = new Mt()), o || xr(e) ? $r(e, t, n, i, s, a) : qA(e, t, l, n, i, s, a)
- if (!(n & ng)) {
- var b = c && wa.call(e, '__wrapped__'),
- u = A && wa.call(t, '__wrapped__')
- if (b || u) {
- var p = b ? e.value() : e,
- v = u ? t.value() : t
- return a || (a = new Mt()), s(p, v, n, i, a)
- }
- }
- return g ? (a || (a = new Mt()), tg(e, t, n, i, s, a)) : !1
- }
- function os(e, t, n, i, s) {
- return e === t ? !0 : e == null || t == null || (!un(e) && !un(t)) ? e !== e && t !== t : sg(e, t, n, i, os, s)
- }
- var og = 1,
- ag = 2
- function rg(e, t, n, i) {
- var s = n.length,
- a = s
- if (e == null) return !a
- for (e = Object(e); s--; ) {
- var o = n[s]
- if (o[2] ? o[1] !== e[o[0]] : !(o[0] in e)) return !1
- }
- for (; ++s < a; ) {
- o = n[s]
- var r = o[0],
- l = e[r],
- d = o[1]
- if (o[2]) {
- if (l === void 0 && !(r in e)) return !1
- } else {
- var c = new Mt(),
- A
- if (!(A === void 0 ? os(d, l, og | ag, i, c) : A)) return !1
- }
- }
- return !0
- }
- function el(e) {
- return e === e && !cn(e)
- }
- function lg(e) {
- for (var t = fo(e), n = t.length; n--; ) {
- var i = t[n],
- s = e[i]
- t[n] = [i, s, el(s)]
- }
- return t
- }
- function tl(e, t) {
- return function (n) {
- return n == null ? !1 : n[e] === t && (t !== void 0 || e in Object(n))
- }
- }
- function cg(e) {
- var t = lg(e)
- return t.length == 1 && t[0][2]
- ? tl(t[0][0], t[0][1])
- : function (n) {
- return n === e || rg(n, e, t)
- }
- }
- function ug(e, t) {
- return e != null && t in Object(e)
- }
- function dg(e, t, n) {
- t = Nr(t, e)
- for (var i = -1, s = t.length, a = !1; ++i < s; ) {
- var o = ro(t[i])
- if (!(a = e != null && n(e, o))) break
- e = e[o]
- }
- return a || ++i != s ? a : ((s = e == null ? 0 : e.length), !!s && uo(s) && Zr(o, s) && (Ut(e) || Ao(e)))
- }
- function nl(e, t) {
- return e != null && dg(e, t, ug)
- }
- var pg = 1,
- Ag = 2
- function gg(e, t) {
- return jr(e) && el(t)
- ? tl(ro(e), t)
- : function (n) {
- var i = en(n, e)
- return i === void 0 && i === t ? nl(n, e) : os(t, i, pg | Ag)
- }
- }
- function fg(e) {
- return function (t) {
- return t == null ? void 0 : t[e]
- }
- }
- function bg(e) {
- return function (t) {
- return Gr(t, e)
- }
- }
- function hg(e) {
- return jr(e) ? fg(ro(e)) : bg(e)
- }
- function vg(e) {
- return typeof e == 'function' ? e : e == null ? Or : typeof e == 'object' ? (Ut(e) ? gg(e[0], e[1]) : cg(e)) : hg(e)
- }
- var Rs = function () {
- return Pt.Date.now()
- },
- mg = 'Expected a function',
- yg = Math.max,
- wg = Math.min
- function Rg(e, t, n) {
- var i,
- s,
- a,
- o,
- r,
- l,
- d = 0,
- c = !1,
- A = !1,
- g = !0
- if (typeof e != 'function') throw new TypeError(mg)
- ;(t = Ko(t) || 0),
- cn(n) &&
- ((c = !!n.leading),
- (A = 'maxWait' in n),
- (a = A ? yg(Ko(n.maxWait) || 0, t) : a),
- (g = 'trailing' in n ? !!n.trailing : g))
- function b(E) {
- var m = i,
- j = s
- return (i = s = void 0), (d = E), (o = e.apply(j, m)), o
- }
- function u(E) {
- return (d = E), (r = setTimeout(f, t)), c ? b(E) : o
- }
- function p(E) {
- var m = E - l,
- j = E - d,
- U = t - m
- return A ? wg(U, a - j) : U
- }
- function v(E) {
- var m = E - l,
- j = E - d
- return l === void 0 || m >= t || m < 0 || (A && j >= a)
- }
- function f() {
- var E = Rs()
- if (v(E)) return w(E)
- r = setTimeout(f, p(E))
- }
- function w(E) {
- return (r = void 0), g && i ? b(E) : ((i = s = void 0), o)
- }
- function R() {
- r !== void 0 && clearTimeout(r), (d = 0), (i = l = s = r = void 0)
- }
- function I() {
- return r === void 0 ? o : w(Rs())
- }
- function y() {
- var E = Rs(),
- m = v(E)
- if (((i = arguments), (s = this), (l = E), m)) {
- if (r === void 0) return u(l)
- if (A) return clearTimeout(r), (r = setTimeout(f, t)), b(l)
- }
- return r === void 0 && (r = setTimeout(f, t)), o
- }
- return (y.cancel = R), (y.flush = I), y
- }
- function Ig(e, t, n) {
- var i = e == null ? 0 : e.length
- if (!i) return -1
- var s = i - 1
- return ed(e, vg(t), s)
- }
- function jn(e, t) {
- return os(e, t)
- }
- function Eg(e) {
- return e === void 0
- }
- function Mg(e, t, n) {
- for (var i = -1, s = t.length, a = {}; ++i < s; ) {
- var o = t[i],
- r = Gr(e, o)
- n(r, o) && iu(a, Nr(o, e), r)
- }
- return a
- }
- function Dg(e, t) {
- return Mg(e, t, function (n, i) {
- return nl(e, i)
- })
- }
- var il = qd(function (e, t) {
- return e == null ? {} : Dg(e, t)
- })
- function Bt(e) {
- var t
- const n = Br(e)
- return (t = n == null ? void 0 : n.$el) != null ? t : n
- }
- const as = ze ? window : void 0
- function Dt(...e) {
- let t, n, i, s
- if ((su(e[0]) || Array.isArray(e[0]) ? (([n, i, s] = e), (t = as)) : ([t, n, i, s] = e), !t)) return kr
- Array.isArray(n) || (n = [n]), Array.isArray(i) || (i = [i])
- const a = [],
- o = () => {
- a.forEach((c) => c()), (a.length = 0)
- },
- r = (c, A, g, b) => (c.addEventListener(A, g, b), () => c.removeEventListener(A, g, b)),
- l = q(
- () => [Bt(t), Br(s)],
- ([c, A]) => {
- o(), c && a.push(...n.flatMap((g) => i.map((b) => r(c, g, b, A))))
- },
- { immediate: !0, flush: 'post' }
- ),
- d = () => {
- l(), o()
- }
- return ts(d), d
- }
- let Ra = !1
- function Zg(e, t, n = {}) {
- const { window: i = as, ignore: s = [], capture: a = !0, detectIframe: o = !1 } = n
- if (!i) return
- Bs && !Ra && ((Ra = !0), Array.from(i.document.body.children).forEach((g) => g.addEventListener('click', kr)))
- let r = !0
- const l = (g) =>
- s.some((b) => {
- if (typeof b == 'string')
- return Array.from(i.document.querySelectorAll(b)).some((u) => u === g.target || g.composedPath().includes(u))
- {
- const u = Bt(b)
- return u && (g.target === u || g.composedPath().includes(u))
- }
- }),
- c = [
- Dt(
- i,
- 'click',
- (g) => {
- const b = Bt(e)
- if (!(!b || b === g.target || g.composedPath().includes(b))) {
- if ((g.detail === 0 && (r = !l(g)), !r)) {
- r = !0
- return
- }
- t(g)
- }
- },
- { passive: !0, capture: a }
- ),
- Dt(
- i,
- 'pointerdown',
- (g) => {
- const b = Bt(e)
- b && (r = !g.composedPath().includes(b) && !l(g))
- },
- { passive: !0 }
- ),
- o &&
- Dt(i, 'blur', (g) => {
- var b
- const u = Bt(e)
- ;((b = i.document.activeElement) == null ? void 0 : b.tagName) === 'IFRAME' &&
- !(u != null && u.contains(i.document.activeElement)) &&
- t(g)
- }),
- ].filter(Boolean)
- return () => c.forEach((g) => g())
- }
- function sl(e, t = !1) {
- const n = C(),
- i = () => (n.value = !!e())
- return i(), ou(i, t), n
- }
- const Ia =
- typeof globalThis < 'u'
- ? globalThis
- : typeof window < 'u'
- ? window
- : typeof global < 'u'
- ? global
- : typeof self < 'u'
- ? self
- : {},
- Ea = '__vueuse_ssr_handlers__'
- Ia[Ea] = Ia[Ea] || {}
- var Ma = Object.getOwnPropertySymbols,
- Sg = Object.prototype.hasOwnProperty,
- Ng = Object.prototype.propertyIsEnumerable,
- jg = (e, t) => {
- var n = {}
- for (var i in e) Sg.call(e, i) && t.indexOf(i) < 0 && (n[i] = e[i])
- if (e != null && Ma) for (var i of Ma(e)) t.indexOf(i) < 0 && Ng.call(e, i) && (n[i] = e[i])
- return n
- }
- function bt(e, t, n = {}) {
- const i = n,
- { window: s = as } = i,
- a = jg(i, ['window'])
- let o
- const r = sl(() => s && 'ResizeObserver' in s),
- l = () => {
- o && (o.disconnect(), (o = void 0))
- },
- d = q(
- () => Bt(e),
- (A) => {
- l(), r.value && s && A && ((o = new ResizeObserver(t)), o.observe(A, a))
- },
- { immediate: !0, flush: 'post' }
- ),
- c = () => {
- l(), d()
- }
- return ts(c), { isSupported: r, stop: c }
- }
- var Da = Object.getOwnPropertySymbols,
- Gg = Object.prototype.hasOwnProperty,
- kg = Object.prototype.propertyIsEnumerable,
- Bg = (e, t) => {
- var n = {}
- for (var i in e) Gg.call(e, i) && t.indexOf(i) < 0 && (n[i] = e[i])
- if (e != null && Da) for (var i of Da(e)) t.indexOf(i) < 0 && kg.call(e, i) && (n[i] = e[i])
- return n
- }
- function Yg(e, t, n = {}) {
- const i = n,
- { window: s = as } = i,
- a = Bg(i, ['window'])
- let o
- const r = sl(() => s && 'MutationObserver' in s),
- l = () => {
- o && (o.disconnect(), (o = void 0))
- },
- d = q(
- () => Bt(e),
- (A) => {
- l(), r.value && s && A && ((o = new MutationObserver(t)), o.observe(A, a))
- },
- { immediate: !0 }
- ),
- c = () => {
- l(), d()
- }
- return ts(c), { isSupported: r, stop: c }
- }
- var Za
- ;(function (e) {
- ;(e.UP = 'UP'), (e.RIGHT = 'RIGHT'), (e.DOWN = 'DOWN'), (e.LEFT = 'LEFT'), (e.NONE = 'NONE')
- })(Za || (Za = {}))
- var Ug = Object.defineProperty,
- Sa = Object.getOwnPropertySymbols,
- Tg = Object.prototype.hasOwnProperty,
- Jg = Object.prototype.propertyIsEnumerable,
- Na = (e, t, n) => (t in e ? Ug(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : (e[t] = n)),
- Cg = (e, t) => {
- for (var n in t || (t = {})) Tg.call(t, n) && Na(e, n, t[n])
- if (Sa) for (var n of Sa(t)) Jg.call(t, n) && Na(e, n, t[n])
- return e
- }
- const Og = {
- easeInSine: [0.12, 0, 0.39, 0],
- easeOutSine: [0.61, 1, 0.88, 1],
- easeInOutSine: [0.37, 0, 0.63, 1],
- easeInQuad: [0.11, 0, 0.5, 0],
- easeOutQuad: [0.5, 1, 0.89, 1],
- easeInOutQuad: [0.45, 0, 0.55, 1],
- easeInCubic: [0.32, 0, 0.67, 0],
- easeOutCubic: [0.33, 1, 0.68, 1],
- easeInOutCubic: [0.65, 0, 0.35, 1],
- easeInQuart: [0.5, 0, 0.75, 0],
- easeOutQuart: [0.25, 1, 0.5, 1],
- easeInOutQuart: [0.76, 0, 0.24, 1],
- easeInQuint: [0.64, 0, 0.78, 0],
- easeOutQuint: [0.22, 1, 0.36, 1],
- easeInOutQuint: [0.83, 0, 0.17, 1],
- easeInExpo: [0.7, 0, 0.84, 0],
- easeOutExpo: [0.16, 1, 0.3, 1],
- easeInOutExpo: [0.87, 0, 0.13, 1],
- easeInCirc: [0.55, 0, 1, 0.45],
- easeOutCirc: [0, 0.55, 0.45, 1],
- easeInOutCirc: [0.85, 0, 0.15, 1],
- easeInBack: [0.36, 0, 0.66, -0.56],
- easeOutBack: [0.34, 1.56, 0.64, 1],
- easeInOutBack: [0.68, -0.6, 0.32, 1.6],
- }
- Cg({ linear: au }, Og)
- class zg extends Error {
- constructor(t) {
- super(t), (this.name = 'ElementPlusError')
- }
- }
- function ol(e, t) {
- throw new zg(`[${e}] ${t}`)
- }
- const $e = 'update:modelValue',
- al = 'change'
- var ge = (e, t) => {
- const n = e.__vccOpts || e
- for (const [i, s] of t) n[i] = s
- return n
- }
- function pn(e, t = 'px') {
- if (!e) return ''
- if (Ne(e) || ru(e)) return `${e}${t}`
- if (tt(e)) return e
- }
- function Wg(e, t) {
- if (!ze) return
- if (!t) {
- e.scrollTop = 0
- return
- }
- const n = []
- let i = t.offsetParent
- for (; i !== null && e !== i && e.contains(i); ) n.push(i), (i = i.offsetParent)
- const s = t.offsetTop + n.reduce((l, d) => l + d.offsetTop, 0),
- a = s + t.offsetHeight,
- o = e.scrollTop,
- r = o + e.clientHeight
- s < o ? (e.scrollTop = s) : a > r && (e.scrollTop = a - e.clientHeight)
- }
- const Fg = ye({ size: { type: ee([Number, String]) }, color: { type: String } }),
- Lg = Q({ name: 'ElIcon', inheritAttrs: !1 }),
- xg = Q({
- ...Lg,
- props: Fg,
- setup(e) {
- const t = e,
- n = he('icon'),
- i = M(() => {
- const { size: s, color: a } = t
- return !s && !a ? {} : { fontSize: Vt(s) ? void 0 : pn(s), '--color': a }
- })
- return (s, a) => (Z(), T('i', dn({ class: h(n).b(), style: h(i) }, s.$attrs), [$(s.$slots, 'default')], 16))
- },
- })
- var Vg = ge(xg, [['__file', 'icon.vue']])
- const ot = dt(Vg)
- /*! Element Plus Icons Vue v2.3.1 */ var Qg = Q({
- name: 'ArrowDown',
- __name: 'arrow-down',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z',
- }),
- ])
- )
- },
- }),
- Xg = Qg,
- Pg = Q({
- name: 'CircleCheck',
- __name: 'circle-check',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896',
- }),
- Y('path', {
- fill: 'currentColor',
- d: 'M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z',
- }),
- ])
- )
- },
- }),
- Hg = Pg,
- Kg = Q({
- name: 'CircleCloseFilled',
- __name: 'circle-close-filled',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z',
- }),
- ])
- )
- },
- }),
- qg = Kg,
- _g = Q({
- name: 'CircleClose',
- __name: 'circle-close',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'm466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z',
- }),
- Y('path', {
- fill: 'currentColor',
- d: 'M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896',
- }),
- ])
- )
- },
- }),
- vo = _g,
- $g = Q({
- name: 'Close',
- __name: 'close',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z',
- }),
- ])
- )
- },
- }),
- Fs = $g,
- ef = Q({
- name: 'Hide',
- __name: 'hide',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z',
- }),
- Y('path', {
- fill: 'currentColor',
- d: 'M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z',
- }),
- ])
- )
- },
- }),
- tf = ef,
- nf = Q({
- name: 'InfoFilled',
- __name: 'info-filled',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z',
- }),
- ])
- )
- },
- }),
- sf = nf,
- of = Q({
- name: 'Loading',
- __name: 'loading',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z',
- }),
- ])
- )
- },
- }),
- rl = of,
- af = Q({
- name: 'SuccessFilled',
- __name: 'success-filled',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z',
- }),
- ])
- )
- },
- }),
- rf = af,
- lf = Q({
- name: 'View',
- __name: 'view',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160',
- }),
- ])
- )
- },
- }),
- cf = lf,
- uf = Q({
- name: 'WarningFilled',
- __name: 'warning-filled',
- setup(e) {
- return (t, n) => (
- Z(),
- T('svg', { xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 1024 1024' }, [
- Y('path', {
- fill: 'currentColor',
- d: 'M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4',
- }),
- ])
- )
- },
- }),
- df = uf
- const An = ee([String, Object, Function]),
- pf = { Close: Fs },
- ja = { success: rf, warning: df, error: qg, info: sf },
- ll = { validating: rl, success: Hg, error: vo },
- Af = () => ze && /firefox/i.test(window.navigator.userAgent)
- let Xe
- const gf = {
- height: '0',
- visibility: 'hidden',
- overflow: Af() ? '' : 'hidden',
- position: 'absolute',
- 'z-index': '-1000',
- top: '0',
- right: '0',
- },
- ff = [
- 'letter-spacing',
- 'line-height',
- 'padding-top',
- 'padding-bottom',
- 'font-family',
- 'font-weight',
- 'font-size',
- 'text-rendering',
- 'text-transform',
- 'width',
- 'text-indent',
- 'padding-left',
- 'padding-right',
- 'border-width',
- 'box-sizing',
- ]
- function bf(e) {
- const t = window.getComputedStyle(e),
- n = t.getPropertyValue('box-sizing'),
- i = Number.parseFloat(t.getPropertyValue('padding-bottom')) + Number.parseFloat(t.getPropertyValue('padding-top')),
- s =
- Number.parseFloat(t.getPropertyValue('border-bottom-width')) +
- Number.parseFloat(t.getPropertyValue('border-top-width'))
- return { contextStyle: ff.map((o) => [o, t.getPropertyValue(o)]), paddingSize: i, borderSize: s, boxSizing: n }
- }
- function Ga(e, t = 1, n) {
- var i
- Xe || ((Xe = document.createElement('textarea')), document.body.appendChild(Xe))
- const { paddingSize: s, borderSize: a, boxSizing: o, contextStyle: r } = bf(e)
- r.forEach(([A, g]) => (Xe == null ? void 0 : Xe.style.setProperty(A, g))),
- Object.entries(gf).forEach(([A, g]) => (Xe == null ? void 0 : Xe.style.setProperty(A, g, 'important'))),
- (Xe.value = e.value || e.placeholder || '')
- let l = Xe.scrollHeight
- const d = {}
- o === 'border-box' ? (l = l + a) : o === 'content-box' && (l = l - s), (Xe.value = '')
- const c = Xe.scrollHeight - s
- if (Ne(t)) {
- let A = c * t
- o === 'border-box' && (A = A + s + a), (l = Math.max(A, l)), (d.minHeight = `${A}px`)
- }
- if (Ne(n)) {
- let A = c * n
- o === 'border-box' && (A = A + s + a), (l = Math.min(A, l))
- }
- return (d.height = `${l}px`), (i = Xe.parentNode) == null || i.removeChild(Xe), (Xe = void 0), d
- }
- const cl = (e) => e,
- hf = ye({
- ariaLabel: String,
- ariaOrientation: { type: String, values: ['horizontal', 'vertical', 'undefined'] },
- ariaControls: String,
- }),
- hn = (e) => il(hf, e),
- vf = ye({
- id: { type: String, default: void 0 },
- size: di,
- disabled: Boolean,
- modelValue: { type: ee([String, Number, Object]), default: '' },
- maxlength: { type: [String, Number] },
- minlength: { type: [String, Number] },
- type: { type: String, default: 'text' },
- resize: { type: String, values: ['none', 'both', 'horizontal', 'vertical'] },
- autosize: { type: ee([Boolean, Object]), default: !1 },
- autocomplete: { type: String, default: 'off' },
- formatter: { type: Function },
- parser: { type: Function },
- placeholder: { type: String },
- form: { type: String },
- readonly: Boolean,
- clearable: Boolean,
- showPassword: Boolean,
- showWordLimit: Boolean,
- suffixIcon: { type: An },
- prefixIcon: { type: An },
- containerRole: { type: String, default: void 0 },
- tabindex: { type: [String, Number], default: 0 },
- validateEvent: { type: Boolean, default: !0 },
- inputStyle: { type: ee([Object, Array, String]), default: () => cl({}) },
- autofocus: Boolean,
- rows: { type: Number, default: 2 },
- ...hn(['ariaLabel']),
- }),
- mf = {
- [$e]: (e) => tt(e),
- input: (e) => tt(e),
- change: (e) => tt(e),
- focus: (e) => e instanceof FocusEvent,
- blur: (e) => e instanceof FocusEvent,
- clear: () => !0,
- mouseleave: (e) => e instanceof MouseEvent,
- mouseenter: (e) => e instanceof MouseEvent,
- keydown: (e) => e instanceof Event,
- compositionstart: (e) => e instanceof CompositionEvent,
- compositionupdate: (e) => e instanceof CompositionEvent,
- compositionend: (e) => e instanceof CompositionEvent,
- },
- yf = ['class', 'style'],
- wf = /^on[A-Z]/,
- Rf = (e = {}) => {
- const { excludeListeners: t = !1, excludeKeys: n } = e,
- i = M(() => ((n == null ? void 0 : n.value) || []).concat(yf)),
- s = Nt()
- return s
- ? M(() => {
- var a
- return Ys(
- Object.entries((a = s.proxy) == null ? void 0 : a.$attrs).filter(
- ([o]) => !i.value.includes(o) && !(t && wf.test(o))
- )
- )
- })
- : M(() => ({}))
- },
- Ln = Symbol('formContextKey'),
- gn = Symbol('formItemContextKey'),
- ka = { prefix: Math.floor(Math.random() * 1e4), current: 0 },
- If = Symbol('elIdInjection'),
- ul = () => (Nt() ? de(If, ka) : ka),
- Ai = (e) => {
- const t = ul(),
- n = Yr()
- return lu(() => h(e) || `${n.value}-id-${t.prefix}-${t.current++}`)
- },
- xn = () => {
- const e = de(Ln, void 0),
- t = de(gn, void 0)
- return { form: e, formItem: t }
- },
- rs = (e, { formItemContext: t, disableIdGeneration: n, disableIdManagement: i }) => {
- n || (n = C(!1)), i || (i = C(!1))
- const s = C()
- let a
- const o = M(() => {
- var r
- return !!(!(e.label || e.ariaLabel) && t && t.inputIds && ((r = t.inputIds) == null ? void 0 : r.length) <= 1)
- })
- return (
- Be(() => {
- a = q(
- [ht(e, 'id'), n],
- ([r, l]) => {
- const d = r ?? (l ? void 0 : Ai().value)
- d !== s.value &&
- (t != null &&
- t.removeInputId &&
- (s.value && t.removeInputId(s.value), !(i != null && i.value) && !l && d && t.addInputId(d)),
- (s.value = d))
- },
- { immediate: !0 }
- )
- }),
- cu(() => {
- a && a(), t != null && t.removeInputId && s.value && t.removeInputId(s.value)
- }),
- { isLabeledByFormItem: o, inputId: s }
- )
- },
- dl = (e) => {
- const t = Nt()
- return M(() => {
- var n, i
- return (i = (n = t == null ? void 0 : t.proxy) == null ? void 0 : n.$props) == null ? void 0 : i[e]
- })
- },
- Xt = (e, t = {}) => {
- const n = C(void 0),
- i = t.prop ? n : dl('size'),
- s = t.global ? n : uu(),
- a = t.form ? { size: void 0 } : de(Ln, void 0),
- o = t.formItem ? { size: void 0 } : de(gn, void 0)
- return M(() => i.value || h(e) || (o == null ? void 0 : o.size) || (a == null ? void 0 : a.size) || s.value || '')
- },
- ls = (e) => {
- const t = dl('disabled'),
- n = de(Ln, void 0)
- return M(() => t.value || h(e) || (n == null ? void 0 : n.disabled) || !1)
- }
- function pl(e, { beforeFocus: t, afterFocus: n, beforeBlur: i, afterBlur: s } = {}) {
- const a = Nt(),
- { emit: o } = a,
- r = Nn(),
- l = C(!1),
- d = (g) => {
- ;(Oe(t) && t(g)) || l.value || ((l.value = !0), o('focus', g), n == null || n())
- },
- c = (g) => {
- var b
- ;(Oe(i) && i(g)) ||
- (g.relatedTarget && (b = r.value) != null && b.contains(g.relatedTarget)) ||
- ((l.value = !1), o('blur', g), s == null || s())
- },
- A = () => {
- var g, b
- ;((g = r.value) != null && g.contains(document.activeElement) && r.value !== document.activeElement) ||
- (b = e.value) == null ||
- b.focus()
- }
- return (
- q(r, (g) => {
- g && g.setAttribute('tabindex', '-1')
- }),
- Dt(r, 'focus', d, !0),
- Dt(r, 'blur', c, !0),
- Dt(r, 'click', A, !0),
- { isFocused: l, wrapperRef: r, handleFocus: d, handleBlur: c }
- )
- }
- const Ef = (e) => /([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e)
- function Al({ afterComposition: e, emit: t }) {
- const n = C(!1),
- i = (r) => {
- t == null || t('compositionstart', r), (n.value = !0)
- },
- s = (r) => {
- var l
- t == null || t('compositionupdate', r)
- const d = (l = r.target) == null ? void 0 : l.value,
- c = d[d.length - 1] || ''
- n.value = !Ef(c)
- },
- a = (r) => {
- t == null || t('compositionend', r), n.value && ((n.value = !1), Ee(() => e(r)))
- }
- return {
- isComposing: n,
- handleComposition: (r) => {
- r.type === 'compositionend' ? a(r) : s(r)
- },
- handleCompositionStart: i,
- handleCompositionUpdate: s,
- handleCompositionEnd: a,
- }
- }
- function Mf(e) {
- let t
- function n() {
- if (e.value == null) return
- const { selectionStart: s, selectionEnd: a, value: o } = e.value
- if (s == null || a == null) return
- const r = o.slice(0, Math.max(0, s)),
- l = o.slice(Math.max(0, a))
- t = { selectionStart: s, selectionEnd: a, value: o, beforeTxt: r, afterTxt: l }
- }
- function i() {
- if (e.value == null || t == null) return
- const { value: s } = e.value,
- { beforeTxt: a, afterTxt: o, selectionStart: r } = t
- if (a == null || o == null || r == null) return
- let l = s.length
- if (s.endsWith(o)) l = s.length - o.length
- else if (s.startsWith(a)) l = a.length
- else {
- const d = a[r - 1],
- c = s.indexOf(d, r - 1)
- c !== -1 && (l = c + 1)
- }
- e.value.setSelectionRange(l, l)
- }
- return [n, i]
- }
- const Df = Q({ name: 'ElInput', inheritAttrs: !1 }),
- Zf = Q({
- ...Df,
- props: vf,
- emits: mf,
- setup(e, { expose: t, emit: n }) {
- const i = e,
- s = du(),
- a = Rf(),
- o = pi(),
- r = M(() => [
- i.type === 'textarea' ? p.b() : u.b(),
- u.m(g.value),
- u.is('disabled', b.value),
- u.is('exceed', ie.value),
- {
- [u.b('group')]: o.prepend || o.append,
- [u.m('prefix')]: o.prefix || i.prefixIcon,
- [u.m('suffix')]: o.suffix || i.suffixIcon || i.clearable || i.showPassword,
- [u.bm('suffix', 'password-clear')]: V.value && ne.value,
- [u.b('hidden')]: i.type === 'hidden',
- },
- s.class,
- ]),
- l = M(() => [u.e('wrapper'), u.is('focus', j.value)]),
- { form: d, formItem: c } = xn(),
- { inputId: A } = rs(i, { formItemContext: c }),
- g = Xt(),
- b = ls(),
- u = he('input'),
- p = he('textarea'),
- v = Nn(),
- f = Nn(),
- w = C(!1),
- R = C(!1),
- I = C(),
- y = Nn(i.inputStyle),
- E = M(() => v.value || f.value),
- {
- wrapperRef: m,
- isFocused: j,
- handleFocus: U,
- handleBlur: K,
- } = pl(E, {
- beforeFocus() {
- return b.value
- },
- afterBlur() {
- var J
- i.validateEvent &&
- ((J = c == null ? void 0 : c.validate) == null || J.call(c, 'blur').catch((ue) => void 0))
- },
- }),
- H = M(() => {
- var J
- return (J = d == null ? void 0 : d.statusIcon) != null ? J : !1
- }),
- N = M(() => (c == null ? void 0 : c.validateState) || ''),
- k = M(() => N.value && ll[N.value]),
- F = M(() => (R.value ? cf : tf)),
- L = M(() => [s.style]),
- O = M(() => [i.inputStyle, y.value, { resize: i.resize }]),
- G = M(() => (ns(i.modelValue) ? '' : String(i.modelValue))),
- V = M(() => i.clearable && !b.value && !i.readonly && !!G.value && (j.value || w.value)),
- ne = M(() => i.showPassword && !b.value && !!G.value && (!!G.value || j.value)),
- re = M(
- () =>
- i.showWordLimit &&
- !!i.maxlength &&
- (i.type === 'text' || i.type === 'textarea') &&
- !b.value &&
- !i.readonly &&
- !i.showPassword
- ),
- Ie = M(() => G.value.length),
- ie = M(() => !!re.value && Ie.value > Number(i.maxlength)),
- we = M(() => !!o.suffix || !!i.suffixIcon || V.value || i.showPassword || re.value || (!!N.value && H.value)),
- [ve, fe] = Mf(v)
- bt(f, (J) => {
- if ((W(), !re.value || i.resize !== 'both')) return
- const ue = J[0],
- { width: st } = ue.contentRect
- I.value = { right: `calc(100% - ${st + 15 + 6}px)` }
- })
- const Re = () => {
- const { type: J, autosize: ue } = i
- if (!(!ze || J !== 'textarea' || !f.value))
- if (ue) {
- const st = vt(ue) ? ue.minRows : void 0,
- zt = vt(ue) ? ue.maxRows : void 0,
- Wt = Ga(f.value, st, zt)
- ;(y.value = { overflowY: 'hidden', ...Wt }),
- Ee(() => {
- f.value.offsetHeight, (y.value = Wt)
- })
- } else y.value = { minHeight: Ga(f.value).minHeight }
- },
- W = ((J) => {
- let ue = !1
- return () => {
- var st
- if (ue || !i.autosize) return
- ;((st = f.value) == null ? void 0 : st.offsetParent) === null || (J(), (ue = !0))
- }
- })(Re),
- se = () => {
- const J = E.value,
- ue = i.formatter ? i.formatter(G.value) : G.value
- !J || J.value === ue || (J.value = ue)
- },
- le = async (J) => {
- ve()
- let { value: ue } = J.target
- if ((i.formatter && (ue = i.parser ? i.parser(ue) : ue), !ke.value)) {
- if (ue === G.value) {
- se()
- return
- }
- n($e, ue), n('input', ue), await Ee(), se(), fe()
- }
- },
- Ae = (J) => {
- n('change', J.target.value)
- },
- {
- isComposing: ke,
- handleCompositionStart: Ve,
- handleCompositionUpdate: vn,
- handleCompositionEnd: mn,
- } = Al({ emit: n, afterComposition: le }),
- yn = () => {
- ve(), (R.value = !R.value), setTimeout(fe)
- },
- wn = () => {
- var J
- return (J = E.value) == null ? void 0 : J.focus()
- },
- Ot = () => {
- var J
- return (J = E.value) == null ? void 0 : J.blur()
- },
- Rn = (J) => {
- ;(w.value = !1), n('mouseleave', J)
- },
- Qe = (J) => {
- ;(w.value = !0), n('mouseenter', J)
- },
- Rt = (J) => {
- n('keydown', J)
- },
- In = () => {
- var J
- ;(J = E.value) == null || J.select()
- },
- _t = () => {
- n($e, ''), n('change', ''), n('clear'), n('input', '')
- }
- return (
- q(
- () => i.modelValue,
- () => {
- var J
- Ee(() => Re()),
- i.validateEvent &&
- ((J = c == null ? void 0 : c.validate) == null || J.call(c, 'change').catch((ue) => void 0))
- }
- ),
- q(G, () => se()),
- q(
- () => i.type,
- async () => {
- await Ee(), se(), Re()
- }
- ),
- Be(() => {
- !i.formatter && i.parser, se(), Ee(Re)
- }),
- t({
- input: v,
- textarea: f,
- ref: E,
- textareaStyle: O,
- autosize: ht(i, 'autosize'),
- isComposing: ke,
- focus: wn,
- blur: Ot,
- select: In,
- clear: _t,
- resizeTextarea: Re,
- }),
- (J, ue) => (
- Z(),
- T(
- 'div',
- {
- class: B([
- h(r),
- { [h(u).bm('group', 'append')]: J.$slots.append, [h(u).bm('group', 'prepend')]: J.$slots.prepend },
- ]),
- style: Ue(h(L)),
- onMouseenter: Qe,
- onMouseleave: Rn,
- },
- [
- X(' input '),
- J.type !== 'textarea'
- ? (Z(),
- T(
- je,
- { key: 0 },
- [
- X(' prepend slot '),
- J.$slots.prepend
- ? (Z(),
- T('div', { key: 0, class: B(h(u).be('group', 'prepend')) }, [$(J.$slots, 'prepend')], 2))
- : X('v-if', !0),
- Y(
- 'div',
- { ref_key: 'wrapperRef', ref: m, class: B(h(l)) },
- [
- X(' prefix slot '),
- J.$slots.prefix || J.prefixIcon
- ? (Z(),
- T(
- 'span',
- { key: 0, class: B(h(u).e('prefix')) },
- [
- Y(
- 'span',
- { class: B(h(u).e('prefix-inner')) },
- [
- $(J.$slots, 'prefix'),
- J.prefixIcon
- ? (Z(),
- _(
- h(ot),
- { key: 0, class: B(h(u).e('icon')) },
- { default: x(() => [(Z(), _(Fe(J.prefixIcon)))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- ],
- 2
- ))
- : X('v-if', !0),
- Y(
- 'input',
- dn({ id: h(A), ref_key: 'input', ref: v, class: h(u).e('inner') }, h(a), {
- minlength: J.minlength,
- maxlength: J.maxlength,
- type: J.showPassword ? (R.value ? 'text' : 'password') : J.type,
- disabled: h(b),
- readonly: J.readonly,
- autocomplete: J.autocomplete,
- tabindex: J.tabindex,
- 'aria-label': J.ariaLabel,
- placeholder: J.placeholder,
- style: J.inputStyle,
- form: J.form,
- autofocus: J.autofocus,
- role: J.containerRole,
- onCompositionstart: h(Ve),
- onCompositionupdate: h(vn),
- onCompositionend: h(mn),
- onInput: le,
- onChange: Ae,
- onKeydown: Rt,
- }),
- null,
- 16,
- [
- 'id',
- 'minlength',
- 'maxlength',
- 'type',
- 'disabled',
- 'readonly',
- 'autocomplete',
- 'tabindex',
- 'aria-label',
- 'placeholder',
- 'form',
- 'autofocus',
- 'role',
- 'onCompositionstart',
- 'onCompositionupdate',
- 'onCompositionend',
- ]
- ),
- X(' suffix slot '),
- h(we)
- ? (Z(),
- T(
- 'span',
- { key: 1, class: B(h(u).e('suffix')) },
- [
- Y(
- 'span',
- { class: B(h(u).e('suffix-inner')) },
- [
- !h(V) || !h(ne) || !h(re)
- ? (Z(),
- T(
- je,
- { key: 0 },
- [
- $(J.$slots, 'suffix'),
- J.suffixIcon
- ? (Z(),
- _(
- h(ot),
- { key: 0, class: B(h(u).e('icon')) },
- { default: x(() => [(Z(), _(Fe(J.suffixIcon)))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- ],
- 64
- ))
- : X('v-if', !0),
- h(V)
- ? (Z(),
- _(
- h(ot),
- {
- key: 1,
- class: B([h(u).e('icon'), h(u).e('clear')]),
- onMousedown: Ze(h(Fi), ['prevent']),
- onClick: _t,
- },
- { default: x(() => [P(h(vo))]), _: 1 },
- 8,
- ['class', 'onMousedown']
- ))
- : X('v-if', !0),
- h(ne)
- ? (Z(),
- _(
- h(ot),
- { key: 2, class: B([h(u).e('icon'), h(u).e('password')]), onClick: yn },
- { default: x(() => [(Z(), _(Fe(h(F))))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- h(re)
- ? (Z(),
- T(
- 'span',
- { key: 3, class: B(h(u).e('count')) },
- [
- Y(
- 'span',
- { class: B(h(u).e('count-inner')) },
- ce(h(Ie)) + ' / ' + ce(J.maxlength),
- 3
- ),
- ],
- 2
- ))
- : X('v-if', !0),
- h(N) && h(k) && h(H)
- ? (Z(),
- _(
- h(ot),
- {
- key: 4,
- class: B([
- h(u).e('icon'),
- h(u).e('validateIcon'),
- h(u).is('loading', h(N) === 'validating'),
- ]),
- },
- { default: x(() => [(Z(), _(Fe(h(k))))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- ],
- 2
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- X(' append slot '),
- J.$slots.append
- ? (Z(), T('div', { key: 1, class: B(h(u).be('group', 'append')) }, [$(J.$slots, 'append')], 2))
- : X('v-if', !0),
- ],
- 64
- ))
- : (Z(),
- T(
- je,
- { key: 1 },
- [
- X(' textarea '),
- Y(
- 'textarea',
- dn(
- { id: h(A), ref_key: 'textarea', ref: f, class: [h(p).e('inner'), h(u).is('focus', h(j))] },
- h(a),
- {
- minlength: J.minlength,
- maxlength: J.maxlength,
- tabindex: J.tabindex,
- disabled: h(b),
- readonly: J.readonly,
- autocomplete: J.autocomplete,
- style: h(O),
- 'aria-label': J.ariaLabel,
- placeholder: J.placeholder,
- form: J.form,
- autofocus: J.autofocus,
- rows: J.rows,
- role: J.containerRole,
- onCompositionstart: h(Ve),
- onCompositionupdate: h(vn),
- onCompositionend: h(mn),
- onInput: le,
- onFocus: h(U),
- onBlur: h(K),
- onChange: Ae,
- onKeydown: Rt,
- }
- ),
- null,
- 16,
- [
- 'id',
- 'minlength',
- 'maxlength',
- 'tabindex',
- 'disabled',
- 'readonly',
- 'autocomplete',
- 'aria-label',
- 'placeholder',
- 'form',
- 'autofocus',
- 'rows',
- 'role',
- 'onCompositionstart',
- 'onCompositionupdate',
- 'onCompositionend',
- 'onFocus',
- 'onBlur',
- ]
- ),
- h(re)
- ? (Z(),
- T(
- 'span',
- { key: 0, style: Ue(I.value), class: B(h(u).e('count')) },
- ce(h(Ie)) + ' / ' + ce(J.maxlength),
- 7
- ))
- : X('v-if', !0),
- ],
- 64
- )),
- ],
- 38
- )
- )
- )
- },
- })
- var Sf = ge(Zf, [['__file', 'input.vue']])
- const gl = dt(Sf),
- Mn = 4,
- Nf = {
- vertical: {
- offset: 'offsetHeight',
- scroll: 'scrollTop',
- scrollSize: 'scrollHeight',
- size: 'height',
- key: 'vertical',
- axis: 'Y',
- client: 'clientY',
- direction: 'top',
- },
- horizontal: {
- offset: 'offsetWidth',
- scroll: 'scrollLeft',
- scrollSize: 'scrollWidth',
- size: 'width',
- key: 'horizontal',
- axis: 'X',
- client: 'clientX',
- direction: 'left',
- },
- },
- jf = ({ move: e, size: t, bar: n }) => ({ [n.size]: t, transform: `translate${n.axis}(${e}%)` }),
- mo = Symbol('scrollbarContextKey'),
- Gf = ye({ vertical: Boolean, size: String, move: Number, ratio: { type: Number, required: !0 }, always: Boolean }),
- kf = 'Thumb',
- Bf = Q({
- __name: 'thumb',
- props: Gf,
- setup(e) {
- const t = e,
- n = de(mo),
- i = he('scrollbar')
- n || ol(kf, 'can not inject scrollbar context')
- const s = C(),
- a = C(),
- o = C({}),
- r = C(!1)
- let l = !1,
- d = !1,
- c = ze ? document.onselectstart : null
- const A = M(() => Nf[t.vertical ? 'vertical' : 'horizontal']),
- g = M(() => jf({ size: t.size, move: t.move, bar: A.value })),
- b = M(
- () => s.value[A.value.offset] ** 2 / n.wrapElement[A.value.scrollSize] / t.ratio / a.value[A.value.offset]
- ),
- u = (E) => {
- var m
- if ((E.stopPropagation(), E.ctrlKey || [1, 2].includes(E.button))) return
- ;(m = window.getSelection()) == null || m.removeAllRanges(), v(E)
- const j = E.currentTarget
- j &&
- (o.value[A.value.axis] =
- j[A.value.offset] - (E[A.value.client] - j.getBoundingClientRect()[A.value.direction]))
- },
- p = (E) => {
- if (!a.value || !s.value || !n.wrapElement) return
- const m = Math.abs(E.target.getBoundingClientRect()[A.value.direction] - E[A.value.client]),
- j = a.value[A.value.offset] / 2,
- U = ((m - j) * 100 * b.value) / s.value[A.value.offset]
- n.wrapElement[A.value.scroll] = (U * n.wrapElement[A.value.scrollSize]) / 100
- },
- v = (E) => {
- E.stopImmediatePropagation(),
- (l = !0),
- document.addEventListener('mousemove', f),
- document.addEventListener('mouseup', w),
- (c = document.onselectstart),
- (document.onselectstart = () => !1)
- },
- f = (E) => {
- if (!s.value || !a.value || l === !1) return
- const m = o.value[A.value.axis]
- if (!m) return
- const j = (s.value.getBoundingClientRect()[A.value.direction] - E[A.value.client]) * -1,
- U = a.value[A.value.offset] - m,
- K = ((j - U) * 100 * b.value) / s.value[A.value.offset]
- n.wrapElement[A.value.scroll] = (K * n.wrapElement[A.value.scrollSize]) / 100
- },
- w = () => {
- ;(l = !1),
- (o.value[A.value.axis] = 0),
- document.removeEventListener('mousemove', f),
- document.removeEventListener('mouseup', w),
- y(),
- d && (r.value = !1)
- },
- R = () => {
- ;(d = !1), (r.value = !!t.size)
- },
- I = () => {
- ;(d = !0), (r.value = l)
- }
- xe(() => {
- y(), document.removeEventListener('mouseup', w)
- })
- const y = () => {
- document.onselectstart !== c && (document.onselectstart = c)
- }
- return (
- Dt(ht(n, 'scrollbarElement'), 'mousemove', R),
- Dt(ht(n, 'scrollbarElement'), 'mouseleave', I),
- (E, m) => (
- Z(),
- _(
- at,
- { name: h(i).b('fade'), persisted: '' },
- {
- default: x(() => [
- We(
- Y(
- 'div',
- { ref_key: 'instance', ref: s, class: B([h(i).e('bar'), h(i).is(h(A).key)]), onMousedown: p },
- [
- Y(
- 'div',
- { ref_key: 'thumb', ref: a, class: B(h(i).e('thumb')), style: Ue(h(g)), onMousedown: u },
- null,
- 38
- ),
- ],
- 34
- ),
- [[bn, E.always || r.value]]
- ),
- ]),
- _: 1,
- },
- 8,
- ['name']
- )
- )
- )
- },
- })
- var Ba = ge(Bf, [['__file', 'thumb.vue']])
- const Yf = ye({ always: { type: Boolean, default: !0 }, minSize: { type: Number, required: !0 } }),
- Uf = Q({
- __name: 'bar',
- props: Yf,
- setup(e, { expose: t }) {
- const n = e,
- i = de(mo),
- s = C(0),
- a = C(0),
- o = C(''),
- r = C(''),
- l = C(1),
- d = C(1)
- return (
- t({
- handleScroll: (g) => {
- if (g) {
- const b = g.offsetHeight - Mn,
- u = g.offsetWidth - Mn
- ;(a.value = ((g.scrollTop * 100) / b) * l.value), (s.value = ((g.scrollLeft * 100) / u) * d.value)
- }
- },
- update: () => {
- const g = i == null ? void 0 : i.wrapElement
- if (!g) return
- const b = g.offsetHeight - Mn,
- u = g.offsetWidth - Mn,
- p = b ** 2 / g.scrollHeight,
- v = u ** 2 / g.scrollWidth,
- f = Math.max(p, n.minSize),
- w = Math.max(v, n.minSize)
- ;(l.value = p / (b - p) / (f / (b - f))),
- (d.value = v / (u - v) / (w / (u - w))),
- (r.value = f + Mn < b ? `${f}px` : ''),
- (o.value = w + Mn < u ? `${w}px` : '')
- },
- }),
- (g, b) => (
- Z(),
- T(
- je,
- null,
- [
- P(Ba, { move: s.value, ratio: d.value, size: o.value, always: g.always }, null, 8, [
- 'move',
- 'ratio',
- 'size',
- 'always',
- ]),
- P(Ba, { move: a.value, ratio: l.value, size: r.value, vertical: '', always: g.always }, null, 8, [
- 'move',
- 'ratio',
- 'size',
- 'always',
- ]),
- ],
- 64
- )
- )
- )
- },
- })
- var Tf = ge(Uf, [['__file', 'bar.vue']])
- const Jf = ye({
- height: { type: [String, Number], default: '' },
- maxHeight: { type: [String, Number], default: '' },
- native: { type: Boolean, default: !1 },
- wrapStyle: { type: ee([String, Object, Array]), default: '' },
- wrapClass: { type: [String, Array], default: '' },
- viewClass: { type: [String, Array], default: '' },
- viewStyle: { type: [String, Array, Object], default: '' },
- noresize: Boolean,
- tag: { type: String, default: 'div' },
- always: Boolean,
- minSize: { type: Number, default: 20 },
- tabindex: { type: [String, Number], default: void 0 },
- id: String,
- role: String,
- ...hn(['ariaLabel', 'ariaOrientation']),
- }),
- Cf = { scroll: ({ scrollTop: e, scrollLeft: t }) => [e, t].every(Ne) },
- Of = 'ElScrollbar',
- zf = Q({ name: Of }),
- Wf = Q({
- ...zf,
- props: Jf,
- emits: Cf,
- setup(e, { expose: t, emit: n }) {
- const i = e,
- s = he('scrollbar')
- let a,
- o,
- r = 0,
- l = 0
- const d = C(),
- c = C(),
- A = C(),
- g = C(),
- b = M(() => {
- const y = {}
- return i.height && (y.height = pn(i.height)), i.maxHeight && (y.maxHeight = pn(i.maxHeight)), [i.wrapStyle, y]
- }),
- u = M(() => [i.wrapClass, s.e('wrap'), { [s.em('wrap', 'hidden-default')]: !i.native }]),
- p = M(() => [s.e('view'), i.viewClass]),
- v = () => {
- var y
- c.value &&
- ((y = g.value) == null || y.handleScroll(c.value),
- (r = c.value.scrollTop),
- (l = c.value.scrollLeft),
- n('scroll', { scrollTop: c.value.scrollTop, scrollLeft: c.value.scrollLeft }))
- }
- function f(y, E) {
- vt(y) ? c.value.scrollTo(y) : Ne(y) && Ne(E) && c.value.scrollTo(y, E)
- }
- const w = (y) => {
- Ne(y) && (c.value.scrollTop = y)
- },
- R = (y) => {
- Ne(y) && (c.value.scrollLeft = y)
- },
- I = () => {
- var y
- ;(y = g.value) == null || y.update()
- }
- return (
- q(
- () => i.noresize,
- (y) => {
- y ? (a == null || a(), o == null || o()) : (({ stop: a } = bt(A, I)), (o = Dt('resize', I)))
- },
- { immediate: !0 }
- ),
- q(
- () => [i.maxHeight, i.height],
- () => {
- i.native ||
- Ee(() => {
- var y
- I(), c.value && ((y = g.value) == null || y.handleScroll(c.value))
- })
- }
- ),
- it(mo, lt({ scrollbarElement: d, wrapElement: c })),
- pu(() => {
- c.value && ((c.value.scrollTop = r), (c.value.scrollLeft = l))
- }),
- Be(() => {
- i.native ||
- Ee(() => {
- I()
- })
- }),
- Ur(() => I()),
- t({ wrapRef: c, update: I, scrollTo: f, setScrollTop: w, setScrollLeft: R, handleScroll: v }),
- (y, E) => (
- Z(),
- T(
- 'div',
- { ref_key: 'scrollbarRef', ref: d, class: B(h(s).b()) },
- [
- Y(
- 'div',
- { ref_key: 'wrapRef', ref: c, class: B(h(u)), style: Ue(h(b)), tabindex: y.tabindex, onScroll: v },
- [
- (Z(),
- _(
- Fe(y.tag),
- {
- id: y.id,
- ref_key: 'resizeRef',
- ref: A,
- class: B(h(p)),
- style: Ue(y.viewStyle),
- role: y.role,
- 'aria-label': y.ariaLabel,
- 'aria-orientation': y.ariaOrientation,
- },
- { default: x(() => [$(y.$slots, 'default')]), _: 3 },
- 8,
- ['id', 'class', 'style', 'role', 'aria-label', 'aria-orientation']
- )),
- ],
- 46,
- ['tabindex']
- ),
- y.native
- ? X('v-if', !0)
- : (Z(),
- _(Tf, { key: 0, ref_key: 'barRef', ref: g, always: y.always, 'min-size': y.minSize }, null, 8, [
- 'always',
- 'min-size',
- ])),
- ],
- 2
- )
- )
- )
- },
- })
- var Ff = ge(Wf, [['__file', 'scrollbar.vue']])
- const Lf = dt(Ff),
- yo = Symbol('popper'),
- fl = Symbol('popperContent'),
- xf = ['dialog', 'grid', 'group', 'listbox', 'menu', 'navigation', 'tooltip', 'tree'],
- bl = ye({ role: { type: String, values: xf, default: 'tooltip' } }),
- Vf = Q({ name: 'ElPopper', inheritAttrs: !1 }),
- Qf = Q({
- ...Vf,
- props: bl,
- setup(e, { expose: t }) {
- const n = e,
- i = C(),
- s = C(),
- a = C(),
- o = C(),
- r = M(() => n.role),
- l = { triggerRef: i, popperInstanceRef: s, contentRef: a, referenceRef: o, role: r }
- return t(l), it(yo, l), (d, c) => $(d.$slots, 'default')
- },
- })
- var Xf = ge(Qf, [['__file', 'popper.vue']])
- const hl = ye({ arrowOffset: { type: Number, default: 5 } }),
- Pf = Q({ name: 'ElPopperArrow', inheritAttrs: !1 }),
- Hf = Q({
- ...Pf,
- props: hl,
- setup(e, { expose: t }) {
- const n = e,
- i = he('popper'),
- { arrowOffset: s, arrowRef: a, arrowStyle: o } = de(fl, void 0)
- return (
- q(
- () => n.arrowOffset,
- (r) => {
- s.value = r
- }
- ),
- xe(() => {
- a.value = void 0
- }),
- t({ arrowRef: a }),
- (r, l) => (
- Z(),
- T(
- 'span',
- { ref_key: 'arrowRef', ref: a, class: B(h(i).e('arrow')), style: Ue(h(o)), 'data-popper-arrow': '' },
- null,
- 6
- )
- )
- )
- },
- })
- var Kf = ge(Hf, [['__file', 'arrow.vue']])
- const vl = ye({
- virtualRef: { type: ee(Object) },
- virtualTriggering: Boolean,
- onMouseenter: { type: ee(Function) },
- onMouseleave: { type: ee(Function) },
- onClick: { type: ee(Function) },
- onKeydown: { type: ee(Function) },
- onFocus: { type: ee(Function) },
- onBlur: { type: ee(Function) },
- onContextmenu: { type: ee(Function) },
- id: String,
- open: Boolean,
- }),
- ml = Symbol('elForwardRef'),
- qf = (e) => {
- it(ml, {
- setForwardRef: (n) => {
- e.value = n
- },
- })
- },
- _f = (e) => ({
- mounted(t) {
- e(t)
- },
- updated(t) {
- e(t)
- },
- unmounted() {
- e(null)
- },
- }),
- Ls = (e) => {
- if (e.tabIndex > 0 || (e.tabIndex === 0 && e.getAttribute('tabIndex') !== null)) return !0
- if (e.tabIndex < 0 || e.hasAttribute('disabled') || e.getAttribute('aria-disabled') === 'true') return !1
- switch (e.nodeName) {
- case 'A':
- return !!e.href && e.rel !== 'ignore'
- case 'INPUT':
- return !(e.type === 'hidden' || e.type === 'file')
- case 'BUTTON':
- case 'SELECT':
- case 'TEXTAREA':
- return !0
- default:
- return !1
- }
- },
- $f = 'ElOnlyChild',
- eb = Q({
- name: $f,
- setup(e, { slots: t, attrs: n }) {
- var i
- const s = de(ml),
- a = _f((i = s == null ? void 0 : s.setForwardRef) != null ? i : Fi)
- return () => {
- var o
- const r = (o = t.default) == null ? void 0 : o.call(t, n)
- if (!r || r.length > 1) return null
- const l = yl(r)
- return l ? We(Au(l, n), [[a]]) : null
- }
- },
- })
- function yl(e) {
- if (!e) return null
- const t = e
- for (const n of t) {
- if (vt(n))
- switch (n.type) {
- case gu:
- continue
- case Tr:
- case 'svg':
- return Ya(n)
- case je:
- return yl(n.children)
- default:
- return n
- }
- return Ya(n)
- }
- return null
- }
- function Ya(e) {
- const t = he('only-child')
- return P('span', { class: t.e('content') }, [e])
- }
- const tb = Q({ name: 'ElPopperTrigger', inheritAttrs: !1 }),
- nb = Q({
- ...tb,
- props: vl,
- setup(e, { expose: t }) {
- const n = e,
- { role: i, triggerRef: s } = de(yo, void 0)
- qf(s)
- const a = M(() => (r.value ? n.id : void 0)),
- o = M(() => {
- if (i && i.value === 'tooltip') return n.open && n.id ? n.id : void 0
- }),
- r = M(() => {
- if (i && i.value !== 'tooltip') return i.value
- }),
- l = M(() => (r.value ? `${n.open}` : void 0))
- let d
- const c = ['onMouseenter', 'onMouseleave', 'onClick', 'onKeydown', 'onFocus', 'onBlur', 'onContextmenu']
- return (
- Be(() => {
- q(
- () => n.virtualRef,
- (A) => {
- A && (s.value = Bt(A))
- },
- { immediate: !0 }
- ),
- q(
- s,
- (A, g) => {
- d == null || d(),
- (d = void 0),
- Yt(A) &&
- (c.forEach((b) => {
- var u
- const p = n[b]
- p &&
- (A.addEventListener(b.slice(2).toLowerCase(), p),
- (u = g == null ? void 0 : g.removeEventListener) == null ||
- u.call(g, b.slice(2).toLowerCase(), p))
- }),
- Ls(A) &&
- (d = q(
- [a, o, r, l],
- (b) => {
- ;['aria-controls', 'aria-describedby', 'aria-haspopup', 'aria-expanded'].forEach((u, p) => {
- ns(b[p]) ? A.removeAttribute(u) : A.setAttribute(u, b[p])
- })
- },
- { immediate: !0 }
- ))),
- Yt(g) &&
- Ls(g) &&
- ['aria-controls', 'aria-describedby', 'aria-haspopup', 'aria-expanded'].forEach((b) =>
- g.removeAttribute(b)
- )
- },
- { immediate: !0 }
- )
- }),
- xe(() => {
- if ((d == null || d(), (d = void 0), s.value && Yt(s.value))) {
- const A = s.value
- c.forEach((g) => {
- const b = n[g]
- b && A.removeEventListener(g.slice(2).toLowerCase(), b)
- }),
- (s.value = void 0)
- }
- }),
- t({ triggerRef: s }),
- (A, g) =>
- A.virtualTriggering
- ? X('v-if', !0)
- : (Z(),
- _(
- h(eb),
- dn({ key: 0 }, A.$attrs, {
- 'aria-controls': h(a),
- 'aria-describedby': h(o),
- 'aria-expanded': h(l),
- 'aria-haspopup': h(r),
- }),
- { default: x(() => [$(A.$slots, 'default')]), _: 3 },
- 16,
- ['aria-controls', 'aria-describedby', 'aria-expanded', 'aria-haspopup']
- ))
- )
- },
- })
- var ib = ge(nb, [['__file', 'trigger.vue']])
- const Is = 'focus-trap.focus-after-trapped',
- Es = 'focus-trap.focus-after-released',
- sb = 'focus-trap.focusout-prevented',
- Ua = { cancelable: !0, bubbles: !1 },
- ob = { cancelable: !0, bubbles: !1 },
- Ta = 'focusAfterTrapped',
- Ja = 'focusAfterReleased',
- ab = Symbol('elFocusTrap'),
- wo = C(),
- cs = C(0),
- Ro = C(0)
- let Ei = 0
- const wl = (e) => {
- const t = [],
- n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
- acceptNode: (i) => {
- const s = i.tagName === 'INPUT' && i.type === 'hidden'
- return i.disabled || i.hidden || s
- ? NodeFilter.FILTER_SKIP
- : i.tabIndex >= 0 || i === document.activeElement
- ? NodeFilter.FILTER_ACCEPT
- : NodeFilter.FILTER_SKIP
- },
- })
- for (; n.nextNode(); ) t.push(n.currentNode)
- return t
- },
- Ca = (e, t) => {
- for (const n of e) if (!rb(n, t)) return n
- },
- rb = (e, t) => {
- if (getComputedStyle(e).visibility === 'hidden') return !0
- for (; e; ) {
- if (t && e === t) return !1
- if (getComputedStyle(e).display === 'none') return !0
- e = e.parentElement
- }
- return !1
- },
- lb = (e) => {
- const t = wl(e),
- n = Ca(t, e),
- i = Ca(t.reverse(), e)
- return [n, i]
- },
- cb = (e) => e instanceof HTMLInputElement && 'select' in e,
- Gt = (e, t) => {
- if (e && e.focus) {
- const n = document.activeElement
- let i = !1
- Yt(e) && !Ls(e) && !e.getAttribute('tabindex') && (e.setAttribute('tabindex', '-1'), (i = !0)),
- e.focus({ preventScroll: !0 }),
- (Ro.value = window.performance.now()),
- e !== n && cb(e) && t && e.select(),
- Yt(e) && i && e.removeAttribute('tabindex')
- }
- }
- function Oa(e, t) {
- const n = [...e],
- i = e.indexOf(t)
- return i !== -1 && n.splice(i, 1), n
- }
- const ub = () => {
- let e = []
- return {
- push: (i) => {
- const s = e[0]
- s && i !== s && s.pause(), (e = Oa(e, i)), e.unshift(i)
- },
- remove: (i) => {
- var s, a
- ;(e = Oa(e, i)), (a = (s = e[0]) == null ? void 0 : s.resume) == null || a.call(s)
- },
- }
- },
- db = (e, t = !1) => {
- const n = document.activeElement
- for (const i of e) if ((Gt(i, t), document.activeElement !== n)) return
- },
- za = ub(),
- pb = () => cs.value > Ro.value,
- Mi = () => {
- ;(wo.value = 'pointer'), (cs.value = window.performance.now())
- },
- Wa = () => {
- ;(wo.value = 'keyboard'), (cs.value = window.performance.now())
- },
- Ab = () => (
- Be(() => {
- Ei === 0 &&
- (document.addEventListener('mousedown', Mi),
- document.addEventListener('touchstart', Mi),
- document.addEventListener('keydown', Wa)),
- Ei++
- }),
- xe(() => {
- Ei--,
- Ei <= 0 &&
- (document.removeEventListener('mousedown', Mi),
- document.removeEventListener('touchstart', Mi),
- document.removeEventListener('keydown', Wa))
- }),
- { focusReason: wo, lastUserFocusTimestamp: cs, lastAutomatedFocusTimestamp: Ro }
- ),
- Di = (e) => new CustomEvent(sb, { ...ob, detail: e }),
- on = { tab: 'Tab', enter: 'Enter', space: 'Space', esc: 'Escape', delete: 'Delete', numpadEnter: 'NumpadEnter' }
- let Sn = []
- const Fa = (e) => {
- e.code === on.esc && Sn.forEach((t) => t(e))
- },
- gb = (e) => {
- Be(() => {
- Sn.length === 0 && document.addEventListener('keydown', Fa), ze && Sn.push(e)
- }),
- xe(() => {
- ;(Sn = Sn.filter((t) => t !== e)), Sn.length === 0 && ze && document.removeEventListener('keydown', Fa)
- })
- },
- fb = Q({
- name: 'ElFocusTrap',
- inheritAttrs: !1,
- props: {
- loop: Boolean,
- trapped: Boolean,
- focusTrapEl: Object,
- focusStartEl: { type: [Object, String], default: 'first' },
- },
- emits: [Ta, Ja, 'focusin', 'focusout', 'focusout-prevented', 'release-requested'],
- setup(e, { emit: t }) {
- const n = C()
- let i, s
- const { focusReason: a } = Ab()
- gb((u) => {
- e.trapped && !o.paused && t('release-requested', u)
- })
- const o = {
- paused: !1,
- pause() {
- this.paused = !0
- },
- resume() {
- this.paused = !1
- },
- },
- r = (u) => {
- if ((!e.loop && !e.trapped) || o.paused) return
- const { code: p, altKey: v, ctrlKey: f, metaKey: w, currentTarget: R, shiftKey: I } = u,
- { loop: y } = e,
- E = p === on.tab && !v && !f && !w,
- m = document.activeElement
- if (E && m) {
- const j = R,
- [U, K] = lb(j)
- if (U && K) {
- if (!I && m === K) {
- const N = Di({ focusReason: a.value })
- t('focusout-prevented', N), N.defaultPrevented || (u.preventDefault(), y && Gt(U, !0))
- } else if (I && [U, j].includes(m)) {
- const N = Di({ focusReason: a.value })
- t('focusout-prevented', N), N.defaultPrevented || (u.preventDefault(), y && Gt(K, !0))
- }
- } else if (m === j) {
- const N = Di({ focusReason: a.value })
- t('focusout-prevented', N), N.defaultPrevented || u.preventDefault()
- }
- }
- }
- it(ab, { focusTrapRef: n, onKeydown: r }),
- q(
- () => e.focusTrapEl,
- (u) => {
- u && (n.value = u)
- },
- { immediate: !0 }
- ),
- q([n], ([u], [p]) => {
- u && (u.addEventListener('keydown', r), u.addEventListener('focusin', c), u.addEventListener('focusout', A)),
- p &&
- (p.removeEventListener('keydown', r),
- p.removeEventListener('focusin', c),
- p.removeEventListener('focusout', A))
- })
- const l = (u) => {
- t(Ta, u)
- },
- d = (u) => t(Ja, u),
- c = (u) => {
- const p = h(n)
- if (!p) return
- const v = u.target,
- f = u.relatedTarget,
- w = v && p.contains(v)
- e.trapped || (f && p.contains(f)) || (i = f),
- w && t('focusin', u),
- !o.paused && e.trapped && (w ? (s = v) : Gt(s, !0))
- },
- A = (u) => {
- const p = h(n)
- if (!(o.paused || !p))
- if (e.trapped) {
- const v = u.relatedTarget
- !ns(v) &&
- !p.contains(v) &&
- setTimeout(() => {
- if (!o.paused && e.trapped) {
- const f = Di({ focusReason: a.value })
- t('focusout-prevented', f), f.defaultPrevented || Gt(s, !0)
- }
- }, 0)
- } else {
- const v = u.target
- ;(v && p.contains(v)) || t('focusout', u)
- }
- }
- async function g() {
- await Ee()
- const u = h(n)
- if (u) {
- za.push(o)
- const p = u.contains(document.activeElement) ? i : document.activeElement
- if (((i = p), !u.contains(p))) {
- const f = new Event(Is, Ua)
- u.addEventListener(Is, l),
- u.dispatchEvent(f),
- f.defaultPrevented ||
- Ee(() => {
- let w = e.focusStartEl
- tt(w) || (Gt(w), document.activeElement !== w && (w = 'first')),
- w === 'first' && db(wl(u), !0),
- (document.activeElement === p || w === 'container') && Gt(u)
- })
- }
- }
- }
- function b() {
- const u = h(n)
- if (u) {
- u.removeEventListener(Is, l)
- const p = new CustomEvent(Es, { ...Ua, detail: { focusReason: a.value } })
- u.addEventListener(Es, d),
- u.dispatchEvent(p),
- !p.defaultPrevented &&
- (a.value == 'keyboard' || !pb() || u.contains(document.activeElement)) &&
- Gt(i ?? document.body),
- u.removeEventListener(Es, d),
- za.remove(o)
- }
- }
- return (
- Be(() => {
- e.trapped && g(),
- q(
- () => e.trapped,
- (u) => {
- u ? g() : b()
- }
- )
- }),
- xe(() => {
- e.trapped && b(),
- n.value &&
- (n.value.removeEventListener('keydown', r),
- n.value.removeEventListener('focusin', c),
- n.value.removeEventListener('focusout', A),
- (n.value = void 0))
- }),
- { onKeydown: r }
- )
- },
- })
- function bb(e, t, n, i, s, a) {
- return $(e.$slots, 'default', { handleKeydown: e.onKeydown })
- }
- var hb = ge(fb, [
- ['render', bb],
- ['__file', 'focus-trap.vue'],
- ]),
- Pe = 'top',
- ct = 'bottom',
- ut = 'right',
- He = 'left',
- Io = 'auto',
- gi = [Pe, ct, ut, He],
- Yn = 'start',
- ri = 'end',
- vb = 'clippingParents',
- Rl = 'viewport',
- $n = 'popper',
- mb = 'reference',
- La = gi.reduce(function (e, t) {
- return e.concat([t + '-' + Yn, t + '-' + ri])
- }, []),
- us = [].concat(gi, [Io]).reduce(function (e, t) {
- return e.concat([t, t + '-' + Yn, t + '-' + ri])
- }, []),
- yb = 'beforeRead',
- wb = 'read',
- Rb = 'afterRead',
- Ib = 'beforeMain',
- Eb = 'main',
- Mb = 'afterMain',
- Db = 'beforeWrite',
- Zb = 'write',
- Sb = 'afterWrite',
- Nb = [yb, wb, Rb, Ib, Eb, Mb, Db, Zb, Sb]
- function St(e) {
- return e ? (e.nodeName || '').toLowerCase() : null
- }
- function yt(e) {
- if (e == null) return window
- if (e.toString() !== '[object Window]') {
- var t = e.ownerDocument
- return (t && t.defaultView) || window
- }
- return e
- }
- function Un(e) {
- var t = yt(e).Element
- return e instanceof t || e instanceof Element
- }
- function rt(e) {
- var t = yt(e).HTMLElement
- return e instanceof t || e instanceof HTMLElement
- }
- function Eo(e) {
- if (typeof ShadowRoot > 'u') return !1
- var t = yt(e).ShadowRoot
- return e instanceof t || e instanceof ShadowRoot
- }
- function jb(e) {
- var t = e.state
- Object.keys(t.elements).forEach(function (n) {
- var i = t.styles[n] || {},
- s = t.attributes[n] || {},
- a = t.elements[n]
- !rt(a) ||
- !St(a) ||
- (Object.assign(a.style, i),
- Object.keys(s).forEach(function (o) {
- var r = s[o]
- r === !1 ? a.removeAttribute(o) : a.setAttribute(o, r === !0 ? '' : r)
- }))
- })
- }
- function Gb(e) {
- var t = e.state,
- n = {
- popper: { position: t.options.strategy, left: '0', top: '0', margin: '0' },
- arrow: { position: 'absolute' },
- reference: {},
- }
- return (
- Object.assign(t.elements.popper.style, n.popper),
- (t.styles = n),
- t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow),
- function () {
- Object.keys(t.elements).forEach(function (i) {
- var s = t.elements[i],
- a = t.attributes[i] || {},
- o = Object.keys(t.styles.hasOwnProperty(i) ? t.styles[i] : n[i]),
- r = o.reduce(function (l, d) {
- return (l[d] = ''), l
- }, {})
- !rt(s) ||
- !St(s) ||
- (Object.assign(s.style, r),
- Object.keys(a).forEach(function (l) {
- s.removeAttribute(l)
- }))
- })
- }
- )
- }
- var Il = { name: 'applyStyles', enabled: !0, phase: 'write', fn: jb, effect: Gb, requires: ['computeStyles'] }
- function Zt(e) {
- return e.split('-')[0]
- }
- var an = Math.max,
- Pi = Math.min,
- Tn = Math.round
- function Jn(e, t) {
- t === void 0 && (t = !1)
- var n = e.getBoundingClientRect(),
- i = 1,
- s = 1
- if (rt(e) && t) {
- var a = e.offsetHeight,
- o = e.offsetWidth
- o > 0 && (i = Tn(n.width) / o || 1), a > 0 && (s = Tn(n.height) / a || 1)
- }
- return {
- width: n.width / i,
- height: n.height / s,
- top: n.top / s,
- right: n.right / i,
- bottom: n.bottom / s,
- left: n.left / i,
- x: n.left / i,
- y: n.top / s,
- }
- }
- function Mo(e) {
- var t = Jn(e),
- n = e.offsetWidth,
- i = e.offsetHeight
- return (
- Math.abs(t.width - n) <= 1 && (n = t.width),
- Math.abs(t.height - i) <= 1 && (i = t.height),
- { x: e.offsetLeft, y: e.offsetTop, width: n, height: i }
- )
- }
- function El(e, t) {
- var n = t.getRootNode && t.getRootNode()
- if (e.contains(t)) return !0
- if (n && Eo(n)) {
- var i = t
- do {
- if (i && e.isSameNode(i)) return !0
- i = i.parentNode || i.host
- } while (i)
- }
- return !1
- }
- function Ct(e) {
- return yt(e).getComputedStyle(e)
- }
- function kb(e) {
- return ['table', 'td', 'th'].indexOf(St(e)) >= 0
- }
- function Ht(e) {
- return ((Un(e) ? e.ownerDocument : e.document) || window.document).documentElement
- }
- function ds(e) {
- return St(e) === 'html' ? e : e.assignedSlot || e.parentNode || (Eo(e) ? e.host : null) || Ht(e)
- }
- function xa(e) {
- return !rt(e) || Ct(e).position === 'fixed' ? null : e.offsetParent
- }
- function Bb(e) {
- var t = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1,
- n = navigator.userAgent.indexOf('Trident') !== -1
- if (n && rt(e)) {
- var i = Ct(e)
- if (i.position === 'fixed') return null
- }
- var s = ds(e)
- for (Eo(s) && (s = s.host); rt(s) && ['html', 'body'].indexOf(St(s)) < 0; ) {
- var a = Ct(s)
- if (
- a.transform !== 'none' ||
- a.perspective !== 'none' ||
- a.contain === 'paint' ||
- ['transform', 'perspective'].indexOf(a.willChange) !== -1 ||
- (t && a.willChange === 'filter') ||
- (t && a.filter && a.filter !== 'none')
- )
- return s
- s = s.parentNode
- }
- return null
- }
- function fi(e) {
- for (var t = yt(e), n = xa(e); n && kb(n) && Ct(n).position === 'static'; ) n = xa(n)
- return n && (St(n) === 'html' || (St(n) === 'body' && Ct(n).position === 'static')) ? t : n || Bb(e) || t
- }
- function Do(e) {
- return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y'
- }
- function si(e, t, n) {
- return an(e, Pi(t, n))
- }
- function Yb(e, t, n) {
- var i = si(e, t, n)
- return i > n ? n : i
- }
- function Ml() {
- return { top: 0, right: 0, bottom: 0, left: 0 }
- }
- function Dl(e) {
- return Object.assign({}, Ml(), e)
- }
- function Zl(e, t) {
- return t.reduce(function (n, i) {
- return (n[i] = e), n
- }, {})
- }
- var Ub = function (e, t) {
- return (
- (e = typeof e == 'function' ? e(Object.assign({}, t.rects, { placement: t.placement })) : e),
- Dl(typeof e != 'number' ? e : Zl(e, gi))
- )
- }
- function Tb(e) {
- var t,
- n = e.state,
- i = e.name,
- s = e.options,
- a = n.elements.arrow,
- o = n.modifiersData.popperOffsets,
- r = Zt(n.placement),
- l = Do(r),
- d = [He, ut].indexOf(r) >= 0,
- c = d ? 'height' : 'width'
- if (!(!a || !o)) {
- var A = Ub(s.padding, n),
- g = Mo(a),
- b = l === 'y' ? Pe : He,
- u = l === 'y' ? ct : ut,
- p = n.rects.reference[c] + n.rects.reference[l] - o[l] - n.rects.popper[c],
- v = o[l] - n.rects.reference[l],
- f = fi(a),
- w = f ? (l === 'y' ? f.clientHeight || 0 : f.clientWidth || 0) : 0,
- R = p / 2 - v / 2,
- I = A[b],
- y = w - g[c] - A[u],
- E = w / 2 - g[c] / 2 + R,
- m = si(I, E, y),
- j = l
- n.modifiersData[i] = ((t = {}), (t[j] = m), (t.centerOffset = m - E), t)
- }
- }
- function Jb(e) {
- var t = e.state,
- n = e.options,
- i = n.element,
- s = i === void 0 ? '[data-popper-arrow]' : i
- s != null &&
- ((typeof s == 'string' && ((s = t.elements.popper.querySelector(s)), !s)) ||
- !El(t.elements.popper, s) ||
- (t.elements.arrow = s))
- }
- var Cb = {
- name: 'arrow',
- enabled: !0,
- phase: 'main',
- fn: Tb,
- effect: Jb,
- requires: ['popperOffsets'],
- requiresIfExists: ['preventOverflow'],
- }
- function Cn(e) {
- return e.split('-')[1]
- }
- var Ob = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }
- function zb(e) {
- var t = e.x,
- n = e.y,
- i = window,
- s = i.devicePixelRatio || 1
- return { x: Tn(t * s) / s || 0, y: Tn(n * s) / s || 0 }
- }
- function Va(e) {
- var t,
- n = e.popper,
- i = e.popperRect,
- s = e.placement,
- a = e.variation,
- o = e.offsets,
- r = e.position,
- l = e.gpuAcceleration,
- d = e.adaptive,
- c = e.roundOffsets,
- A = e.isFixed,
- g = o.x,
- b = g === void 0 ? 0 : g,
- u = o.y,
- p = u === void 0 ? 0 : u,
- v = typeof c == 'function' ? c({ x: b, y: p }) : { x: b, y: p }
- ;(b = v.x), (p = v.y)
- var f = o.hasOwnProperty('x'),
- w = o.hasOwnProperty('y'),
- R = He,
- I = Pe,
- y = window
- if (d) {
- var E = fi(n),
- m = 'clientHeight',
- j = 'clientWidth'
- if (
- (E === yt(n) &&
- ((E = Ht(n)), Ct(E).position !== 'static' && r === 'absolute' && ((m = 'scrollHeight'), (j = 'scrollWidth'))),
- (E = E),
- s === Pe || ((s === He || s === ut) && a === ri))
- ) {
- I = ct
- var U = A && E === y && y.visualViewport ? y.visualViewport.height : E[m]
- ;(p -= U - i.height), (p *= l ? 1 : -1)
- }
- if (s === He || ((s === Pe || s === ct) && a === ri)) {
- R = ut
- var K = A && E === y && y.visualViewport ? y.visualViewport.width : E[j]
- ;(b -= K - i.width), (b *= l ? 1 : -1)
- }
- }
- var H = Object.assign({ position: r }, d && Ob),
- N = c === !0 ? zb({ x: b, y: p }) : { x: b, y: p }
- if (((b = N.x), (p = N.y), l)) {
- var k
- return Object.assign(
- {},
- H,
- ((k = {}),
- (k[I] = w ? '0' : ''),
- (k[R] = f ? '0' : ''),
- (k.transform =
- (y.devicePixelRatio || 1) <= 1
- ? 'translate(' + b + 'px, ' + p + 'px)'
- : 'translate3d(' + b + 'px, ' + p + 'px, 0)'),
- k)
- )
- }
- return Object.assign({}, H, ((t = {}), (t[I] = w ? p + 'px' : ''), (t[R] = f ? b + 'px' : ''), (t.transform = ''), t))
- }
- function Wb(e) {
- var t = e.state,
- n = e.options,
- i = n.gpuAcceleration,
- s = i === void 0 ? !0 : i,
- a = n.adaptive,
- o = a === void 0 ? !0 : a,
- r = n.roundOffsets,
- l = r === void 0 ? !0 : r,
- d = {
- placement: Zt(t.placement),
- variation: Cn(t.placement),
- popper: t.elements.popper,
- popperRect: t.rects.popper,
- gpuAcceleration: s,
- isFixed: t.options.strategy === 'fixed',
- }
- t.modifiersData.popperOffsets != null &&
- (t.styles.popper = Object.assign(
- {},
- t.styles.popper,
- Va(
- Object.assign({}, d, {
- offsets: t.modifiersData.popperOffsets,
- position: t.options.strategy,
- adaptive: o,
- roundOffsets: l,
- })
- )
- )),
- t.modifiersData.arrow != null &&
- (t.styles.arrow = Object.assign(
- {},
- t.styles.arrow,
- Va(
- Object.assign({}, d, { offsets: t.modifiersData.arrow, position: 'absolute', adaptive: !1, roundOffsets: l })
- )
- )),
- (t.attributes.popper = Object.assign({}, t.attributes.popper, { 'data-popper-placement': t.placement }))
- }
- var Sl = { name: 'computeStyles', enabled: !0, phase: 'beforeWrite', fn: Wb, data: {} },
- Zi = { passive: !0 }
- function Fb(e) {
- var t = e.state,
- n = e.instance,
- i = e.options,
- s = i.scroll,
- a = s === void 0 ? !0 : s,
- o = i.resize,
- r = o === void 0 ? !0 : o,
- l = yt(t.elements.popper),
- d = [].concat(t.scrollParents.reference, t.scrollParents.popper)
- return (
- a &&
- d.forEach(function (c) {
- c.addEventListener('scroll', n.update, Zi)
- }),
- r && l.addEventListener('resize', n.update, Zi),
- function () {
- a &&
- d.forEach(function (c) {
- c.removeEventListener('scroll', n.update, Zi)
- }),
- r && l.removeEventListener('resize', n.update, Zi)
- }
- )
- }
- var Nl = { name: 'eventListeners', enabled: !0, phase: 'write', fn: function () {}, effect: Fb, data: {} },
- Lb = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }
- function Ui(e) {
- return e.replace(/left|right|bottom|top/g, function (t) {
- return Lb[t]
- })
- }
- var xb = { start: 'end', end: 'start' }
- function Qa(e) {
- return e.replace(/start|end/g, function (t) {
- return xb[t]
- })
- }
- function Zo(e) {
- var t = yt(e),
- n = t.pageXOffset,
- i = t.pageYOffset
- return { scrollLeft: n, scrollTop: i }
- }
- function So(e) {
- return Jn(Ht(e)).left + Zo(e).scrollLeft
- }
- function Vb(e) {
- var t = yt(e),
- n = Ht(e),
- i = t.visualViewport,
- s = n.clientWidth,
- a = n.clientHeight,
- o = 0,
- r = 0
- return (
- i &&
- ((s = i.width),
- (a = i.height),
- /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || ((o = i.offsetLeft), (r = i.offsetTop))),
- { width: s, height: a, x: o + So(e), y: r }
- )
- }
- function Qb(e) {
- var t,
- n = Ht(e),
- i = Zo(e),
- s = (t = e.ownerDocument) == null ? void 0 : t.body,
- a = an(n.scrollWidth, n.clientWidth, s ? s.scrollWidth : 0, s ? s.clientWidth : 0),
- o = an(n.scrollHeight, n.clientHeight, s ? s.scrollHeight : 0, s ? s.clientHeight : 0),
- r = -i.scrollLeft + So(e),
- l = -i.scrollTop
- return (
- Ct(s || n).direction === 'rtl' && (r += an(n.clientWidth, s ? s.clientWidth : 0) - a),
- { width: a, height: o, x: r, y: l }
- )
- }
- function No(e) {
- var t = Ct(e),
- n = t.overflow,
- i = t.overflowX,
- s = t.overflowY
- return /auto|scroll|overlay|hidden/.test(n + s + i)
- }
- function jl(e) {
- return ['html', 'body', '#document'].indexOf(St(e)) >= 0 ? e.ownerDocument.body : rt(e) && No(e) ? e : jl(ds(e))
- }
- function oi(e, t) {
- var n
- t === void 0 && (t = [])
- var i = jl(e),
- s = i === ((n = e.ownerDocument) == null ? void 0 : n.body),
- a = yt(i),
- o = s ? [a].concat(a.visualViewport || [], No(i) ? i : []) : i,
- r = t.concat(o)
- return s ? r : r.concat(oi(ds(o)))
- }
- function xs(e) {
- return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height })
- }
- function Xb(e) {
- var t = Jn(e)
- return (
- (t.top = t.top + e.clientTop),
- (t.left = t.left + e.clientLeft),
- (t.bottom = t.top + e.clientHeight),
- (t.right = t.left + e.clientWidth),
- (t.width = e.clientWidth),
- (t.height = e.clientHeight),
- (t.x = t.left),
- (t.y = t.top),
- t
- )
- }
- function Xa(e, t) {
- return t === Rl ? xs(Vb(e)) : Un(t) ? Xb(t) : xs(Qb(Ht(e)))
- }
- function Pb(e) {
- var t = oi(ds(e)),
- n = ['absolute', 'fixed'].indexOf(Ct(e).position) >= 0,
- i = n && rt(e) ? fi(e) : e
- return Un(i)
- ? t.filter(function (s) {
- return Un(s) && El(s, i) && St(s) !== 'body'
- })
- : []
- }
- function Hb(e, t, n) {
- var i = t === 'clippingParents' ? Pb(e) : [].concat(t),
- s = [].concat(i, [n]),
- a = s[0],
- o = s.reduce(
- function (r, l) {
- var d = Xa(e, l)
- return (
- (r.top = an(d.top, r.top)),
- (r.right = Pi(d.right, r.right)),
- (r.bottom = Pi(d.bottom, r.bottom)),
- (r.left = an(d.left, r.left)),
- r
- )
- },
- Xa(e, a)
- )
- return (o.width = o.right - o.left), (o.height = o.bottom - o.top), (o.x = o.left), (o.y = o.top), o
- }
- function Gl(e) {
- var t = e.reference,
- n = e.element,
- i = e.placement,
- s = i ? Zt(i) : null,
- a = i ? Cn(i) : null,
- o = t.x + t.width / 2 - n.width / 2,
- r = t.y + t.height / 2 - n.height / 2,
- l
- switch (s) {
- case Pe:
- l = { x: o, y: t.y - n.height }
- break
- case ct:
- l = { x: o, y: t.y + t.height }
- break
- case ut:
- l = { x: t.x + t.width, y: r }
- break
- case He:
- l = { x: t.x - n.width, y: r }
- break
- default:
- l = { x: t.x, y: t.y }
- }
- var d = s ? Do(s) : null
- if (d != null) {
- var c = d === 'y' ? 'height' : 'width'
- switch (a) {
- case Yn:
- l[d] = l[d] - (t[c] / 2 - n[c] / 2)
- break
- case ri:
- l[d] = l[d] + (t[c] / 2 - n[c] / 2)
- break
- }
- }
- return l
- }
- function li(e, t) {
- t === void 0 && (t = {})
- var n = t,
- i = n.placement,
- s = i === void 0 ? e.placement : i,
- a = n.boundary,
- o = a === void 0 ? vb : a,
- r = n.rootBoundary,
- l = r === void 0 ? Rl : r,
- d = n.elementContext,
- c = d === void 0 ? $n : d,
- A = n.altBoundary,
- g = A === void 0 ? !1 : A,
- b = n.padding,
- u = b === void 0 ? 0 : b,
- p = Dl(typeof u != 'number' ? u : Zl(u, gi)),
- v = c === $n ? mb : $n,
- f = e.rects.popper,
- w = e.elements[g ? v : c],
- R = Hb(Un(w) ? w : w.contextElement || Ht(e.elements.popper), o, l),
- I = Jn(e.elements.reference),
- y = Gl({ reference: I, element: f, placement: s }),
- E = xs(Object.assign({}, f, y)),
- m = c === $n ? E : I,
- j = {
- top: R.top - m.top + p.top,
- bottom: m.bottom - R.bottom + p.bottom,
- left: R.left - m.left + p.left,
- right: m.right - R.right + p.right,
- },
- U = e.modifiersData.offset
- if (c === $n && U) {
- var K = U[s]
- Object.keys(j).forEach(function (H) {
- var N = [ut, ct].indexOf(H) >= 0 ? 1 : -1,
- k = [Pe, ct].indexOf(H) >= 0 ? 'y' : 'x'
- j[H] += K[k] * N
- })
- }
- return j
- }
- function Kb(e, t) {
- t === void 0 && (t = {})
- var n = t,
- i = n.placement,
- s = n.boundary,
- a = n.rootBoundary,
- o = n.padding,
- r = n.flipVariations,
- l = n.allowedAutoPlacements,
- d = l === void 0 ? us : l,
- c = Cn(i),
- A = c
- ? r
- ? La
- : La.filter(function (u) {
- return Cn(u) === c
- })
- : gi,
- g = A.filter(function (u) {
- return d.indexOf(u) >= 0
- })
- g.length === 0 && (g = A)
- var b = g.reduce(function (u, p) {
- return (u[p] = li(e, { placement: p, boundary: s, rootBoundary: a, padding: o })[Zt(p)]), u
- }, {})
- return Object.keys(b).sort(function (u, p) {
- return b[u] - b[p]
- })
- }
- function qb(e) {
- if (Zt(e) === Io) return []
- var t = Ui(e)
- return [Qa(e), t, Qa(t)]
- }
- function _b(e) {
- var t = e.state,
- n = e.options,
- i = e.name
- if (!t.modifiersData[i]._skip) {
- for (
- var s = n.mainAxis,
- a = s === void 0 ? !0 : s,
- o = n.altAxis,
- r = o === void 0 ? !0 : o,
- l = n.fallbackPlacements,
- d = n.padding,
- c = n.boundary,
- A = n.rootBoundary,
- g = n.altBoundary,
- b = n.flipVariations,
- u = b === void 0 ? !0 : b,
- p = n.allowedAutoPlacements,
- v = t.options.placement,
- f = Zt(v),
- w = f === v,
- R = l || (w || !u ? [Ui(v)] : qb(v)),
- I = [v].concat(R).reduce(function (ve, fe) {
- return ve.concat(
- Zt(fe) === Io
- ? Kb(t, {
- placement: fe,
- boundary: c,
- rootBoundary: A,
- padding: d,
- flipVariations: u,
- allowedAutoPlacements: p,
- })
- : fe
- )
- }, []),
- y = t.rects.reference,
- E = t.rects.popper,
- m = new Map(),
- j = !0,
- U = I[0],
- K = 0;
- K < I.length;
- K++
- ) {
- var H = I[K],
- N = Zt(H),
- k = Cn(H) === Yn,
- F = [Pe, ct].indexOf(N) >= 0,
- L = F ? 'width' : 'height',
- O = li(t, { placement: H, boundary: c, rootBoundary: A, altBoundary: g, padding: d }),
- G = F ? (k ? ut : He) : k ? ct : Pe
- y[L] > E[L] && (G = Ui(G))
- var V = Ui(G),
- ne = []
- if (
- (a && ne.push(O[N] <= 0),
- r && ne.push(O[G] <= 0, O[V] <= 0),
- ne.every(function (ve) {
- return ve
- }))
- ) {
- ;(U = H), (j = !1)
- break
- }
- m.set(H, ne)
- }
- if (j)
- for (
- var re = u ? 3 : 1,
- Ie = function (ve) {
- var fe = I.find(function (Re) {
- var pe = m.get(Re)
- if (pe)
- return pe.slice(0, ve).every(function (W) {
- return W
- })
- })
- if (fe) return (U = fe), 'break'
- },
- ie = re;
- ie > 0;
- ie--
- ) {
- var we = Ie(ie)
- if (we === 'break') break
- }
- t.placement !== U && ((t.modifiersData[i]._skip = !0), (t.placement = U), (t.reset = !0))
- }
- }
- var $b = { name: 'flip', enabled: !0, phase: 'main', fn: _b, requiresIfExists: ['offset'], data: { _skip: !1 } }
- function Pa(e, t, n) {
- return (
- n === void 0 && (n = { x: 0, y: 0 }),
- {
- top: e.top - t.height - n.y,
- right: e.right - t.width + n.x,
- bottom: e.bottom - t.height + n.y,
- left: e.left - t.width - n.x,
- }
- )
- }
- function Ha(e) {
- return [Pe, ut, ct, He].some(function (t) {
- return e[t] >= 0
- })
- }
- function e0(e) {
- var t = e.state,
- n = e.name,
- i = t.rects.reference,
- s = t.rects.popper,
- a = t.modifiersData.preventOverflow,
- o = li(t, { elementContext: 'reference' }),
- r = li(t, { altBoundary: !0 }),
- l = Pa(o, i),
- d = Pa(r, s, a),
- c = Ha(l),
- A = Ha(d)
- ;(t.modifiersData[n] = {
- referenceClippingOffsets: l,
- popperEscapeOffsets: d,
- isReferenceHidden: c,
- hasPopperEscaped: A,
- }),
- (t.attributes.popper = Object.assign({}, t.attributes.popper, {
- 'data-popper-reference-hidden': c,
- 'data-popper-escaped': A,
- }))
- }
- var t0 = { name: 'hide', enabled: !0, phase: 'main', requiresIfExists: ['preventOverflow'], fn: e0 }
- function n0(e, t, n) {
- var i = Zt(e),
- s = [He, Pe].indexOf(i) >= 0 ? -1 : 1,
- a = typeof n == 'function' ? n(Object.assign({}, t, { placement: e })) : n,
- o = a[0],
- r = a[1]
- return (o = o || 0), (r = (r || 0) * s), [He, ut].indexOf(i) >= 0 ? { x: r, y: o } : { x: o, y: r }
- }
- function i0(e) {
- var t = e.state,
- n = e.options,
- i = e.name,
- s = n.offset,
- a = s === void 0 ? [0, 0] : s,
- o = us.reduce(function (c, A) {
- return (c[A] = n0(A, t.rects, a)), c
- }, {}),
- r = o[t.placement],
- l = r.x,
- d = r.y
- t.modifiersData.popperOffsets != null &&
- ((t.modifiersData.popperOffsets.x += l), (t.modifiersData.popperOffsets.y += d)),
- (t.modifiersData[i] = o)
- }
- var s0 = { name: 'offset', enabled: !0, phase: 'main', requires: ['popperOffsets'], fn: i0 }
- function o0(e) {
- var t = e.state,
- n = e.name
- t.modifiersData[n] = Gl({ reference: t.rects.reference, element: t.rects.popper, placement: t.placement })
- }
- var kl = { name: 'popperOffsets', enabled: !0, phase: 'read', fn: o0, data: {} }
- function a0(e) {
- return e === 'x' ? 'y' : 'x'
- }
- function r0(e) {
- var t = e.state,
- n = e.options,
- i = e.name,
- s = n.mainAxis,
- a = s === void 0 ? !0 : s,
- o = n.altAxis,
- r = o === void 0 ? !1 : o,
- l = n.boundary,
- d = n.rootBoundary,
- c = n.altBoundary,
- A = n.padding,
- g = n.tether,
- b = g === void 0 ? !0 : g,
- u = n.tetherOffset,
- p = u === void 0 ? 0 : u,
- v = li(t, { boundary: l, rootBoundary: d, padding: A, altBoundary: c }),
- f = Zt(t.placement),
- w = Cn(t.placement),
- R = !w,
- I = Do(f),
- y = a0(I),
- E = t.modifiersData.popperOffsets,
- m = t.rects.reference,
- j = t.rects.popper,
- U = typeof p == 'function' ? p(Object.assign({}, t.rects, { placement: t.placement })) : p,
- K = typeof U == 'number' ? { mainAxis: U, altAxis: U } : Object.assign({ mainAxis: 0, altAxis: 0 }, U),
- H = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null,
- N = { x: 0, y: 0 }
- if (E) {
- if (a) {
- var k,
- F = I === 'y' ? Pe : He,
- L = I === 'y' ? ct : ut,
- O = I === 'y' ? 'height' : 'width',
- G = E[I],
- V = G + v[F],
- ne = G - v[L],
- re = b ? -j[O] / 2 : 0,
- Ie = w === Yn ? m[O] : j[O],
- ie = w === Yn ? -j[O] : -m[O],
- we = t.elements.arrow,
- ve = b && we ? Mo(we) : { width: 0, height: 0 },
- fe = t.modifiersData['arrow#persistent'] ? t.modifiersData['arrow#persistent'].padding : Ml(),
- Re = fe[F],
- pe = fe[L],
- W = si(0, m[O], ve[O]),
- se = R ? m[O] / 2 - re - W - Re - K.mainAxis : Ie - W - Re - K.mainAxis,
- le = R ? -m[O] / 2 + re + W + pe + K.mainAxis : ie + W + pe + K.mainAxis,
- Ae = t.elements.arrow && fi(t.elements.arrow),
- ke = Ae ? (I === 'y' ? Ae.clientTop || 0 : Ae.clientLeft || 0) : 0,
- Ve = (k = H == null ? void 0 : H[I]) != null ? k : 0,
- vn = G + se - Ve - ke,
- mn = G + le - Ve,
- yn = si(b ? Pi(V, vn) : V, G, b ? an(ne, mn) : ne)
- ;(E[I] = yn), (N[I] = yn - G)
- }
- if (r) {
- var wn,
- Ot = I === 'x' ? Pe : He,
- Rn = I === 'x' ? ct : ut,
- Qe = E[y],
- Rt = y === 'y' ? 'height' : 'width',
- In = Qe + v[Ot],
- _t = Qe - v[Rn],
- J = [Pe, He].indexOf(f) !== -1,
- ue = (wn = H == null ? void 0 : H[y]) != null ? wn : 0,
- st = J ? In : Qe - m[Rt] - j[Rt] - ue + K.altAxis,
- zt = J ? Qe + m[Rt] + j[Rt] - ue - K.altAxis : _t,
- Wt = b && J ? Yb(st, Qe, zt) : si(b ? st : In, Qe, b ? zt : _t)
- ;(E[y] = Wt), (N[y] = Wt - Qe)
- }
- t.modifiersData[i] = N
- }
- }
- var l0 = { name: 'preventOverflow', enabled: !0, phase: 'main', fn: r0, requiresIfExists: ['offset'] }
- function c0(e) {
- return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop }
- }
- function u0(e) {
- return e === yt(e) || !rt(e) ? Zo(e) : c0(e)
- }
- function d0(e) {
- var t = e.getBoundingClientRect(),
- n = Tn(t.width) / e.offsetWidth || 1,
- i = Tn(t.height) / e.offsetHeight || 1
- return n !== 1 || i !== 1
- }
- function p0(e, t, n) {
- n === void 0 && (n = !1)
- var i = rt(t),
- s = rt(t) && d0(t),
- a = Ht(t),
- o = Jn(e, s),
- r = { scrollLeft: 0, scrollTop: 0 },
- l = { x: 0, y: 0 }
- return (
- (i || (!i && !n)) &&
- ((St(t) !== 'body' || No(a)) && (r = u0(t)),
- rt(t) ? ((l = Jn(t, !0)), (l.x += t.clientLeft), (l.y += t.clientTop)) : a && (l.x = So(a))),
- { x: o.left + r.scrollLeft - l.x, y: o.top + r.scrollTop - l.y, width: o.width, height: o.height }
- )
- }
- function A0(e) {
- var t = new Map(),
- n = new Set(),
- i = []
- e.forEach(function (a) {
- t.set(a.name, a)
- })
- function s(a) {
- n.add(a.name)
- var o = [].concat(a.requires || [], a.requiresIfExists || [])
- o.forEach(function (r) {
- if (!n.has(r)) {
- var l = t.get(r)
- l && s(l)
- }
- }),
- i.push(a)
- }
- return (
- e.forEach(function (a) {
- n.has(a.name) || s(a)
- }),
- i
- )
- }
- function g0(e) {
- var t = A0(e)
- return Nb.reduce(function (n, i) {
- return n.concat(
- t.filter(function (s) {
- return s.phase === i
- })
- )
- }, [])
- }
- function f0(e) {
- var t
- return function () {
- return (
- t ||
- (t = new Promise(function (n) {
- Promise.resolve().then(function () {
- ;(t = void 0), n(e())
- })
- })),
- t
- )
- }
- }
- function b0(e) {
- var t = e.reduce(function (n, i) {
- var s = n[i.name]
- return (
- (n[i.name] = s
- ? Object.assign({}, s, i, {
- options: Object.assign({}, s.options, i.options),
- data: Object.assign({}, s.data, i.data),
- })
- : i),
- n
- )
- }, {})
- return Object.keys(t).map(function (n) {
- return t[n]
- })
- }
- var Ka = { placement: 'bottom', modifiers: [], strategy: 'absolute' }
- function qa() {
- for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
- return !t.some(function (i) {
- return !(i && typeof i.getBoundingClientRect == 'function')
- })
- }
- function jo(e) {
- e === void 0 && (e = {})
- var t = e,
- n = t.defaultModifiers,
- i = n === void 0 ? [] : n,
- s = t.defaultOptions,
- a = s === void 0 ? Ka : s
- return function (o, r, l) {
- l === void 0 && (l = a)
- var d = {
- placement: 'bottom',
- orderedModifiers: [],
- options: Object.assign({}, Ka, a),
- modifiersData: {},
- elements: { reference: o, popper: r },
- attributes: {},
- styles: {},
- },
- c = [],
- A = !1,
- g = {
- state: d,
- setOptions: function (p) {
- var v = typeof p == 'function' ? p(d.options) : p
- u(),
- (d.options = Object.assign({}, a, d.options, v)),
- (d.scrollParents = {
- reference: Un(o) ? oi(o) : o.contextElement ? oi(o.contextElement) : [],
- popper: oi(r),
- })
- var f = g0(b0([].concat(i, d.options.modifiers)))
- return (
- (d.orderedModifiers = f.filter(function (w) {
- return w.enabled
- })),
- b(),
- g.update()
- )
- },
- forceUpdate: function () {
- if (!A) {
- var p = d.elements,
- v = p.reference,
- f = p.popper
- if (qa(v, f)) {
- ;(d.rects = { reference: p0(v, fi(f), d.options.strategy === 'fixed'), popper: Mo(f) }),
- (d.reset = !1),
- (d.placement = d.options.placement),
- d.orderedModifiers.forEach(function (j) {
- return (d.modifiersData[j.name] = Object.assign({}, j.data))
- })
- for (var w = 0; w < d.orderedModifiers.length; w++) {
- if (d.reset === !0) {
- ;(d.reset = !1), (w = -1)
- continue
- }
- var R = d.orderedModifiers[w],
- I = R.fn,
- y = R.options,
- E = y === void 0 ? {} : y,
- m = R.name
- typeof I == 'function' && (d = I({ state: d, options: E, name: m, instance: g }) || d)
- }
- }
- }
- },
- update: f0(function () {
- return new Promise(function (p) {
- g.forceUpdate(), p(d)
- })
- }),
- destroy: function () {
- u(), (A = !0)
- },
- }
- if (!qa(o, r)) return g
- g.setOptions(l).then(function (p) {
- !A && l.onFirstUpdate && l.onFirstUpdate(p)
- })
- function b() {
- d.orderedModifiers.forEach(function (p) {
- var v = p.name,
- f = p.options,
- w = f === void 0 ? {} : f,
- R = p.effect
- if (typeof R == 'function') {
- var I = R({ state: d, name: v, instance: g, options: w }),
- y = function () {}
- c.push(I || y)
- }
- })
- }
- function u() {
- c.forEach(function (p) {
- return p()
- }),
- (c = [])
- }
- return g
- }
- }
- jo()
- var h0 = [Nl, kl, Sl, Il]
- jo({ defaultModifiers: h0 })
- var v0 = [Nl, kl, Sl, Il, s0, $b, l0, Cb, t0],
- m0 = jo({ defaultModifiers: v0 })
- const y0 = ['fixed', 'absolute'],
- w0 = ye({
- boundariesPadding: { type: Number, default: 0 },
- fallbackPlacements: { type: ee(Array), default: void 0 },
- gpuAcceleration: { type: Boolean, default: !0 },
- offset: { type: Number, default: 12 },
- placement: { type: String, values: us, default: 'bottom' },
- popperOptions: { type: ee(Object), default: () => ({}) },
- strategy: { type: String, values: y0, default: 'absolute' },
- }),
- Bl = ye({
- ...w0,
- id: String,
- style: { type: ee([String, Array, Object]) },
- className: { type: ee([String, Array, Object]) },
- effect: { type: ee(String), default: 'dark' },
- visible: Boolean,
- enterable: { type: Boolean, default: !0 },
- pure: Boolean,
- focusOnShow: { type: Boolean, default: !1 },
- trapping: { type: Boolean, default: !1 },
- popperClass: { type: ee([String, Array, Object]) },
- popperStyle: { type: ee([String, Array, Object]) },
- referenceEl: { type: ee(Object) },
- triggerTargetEl: { type: ee(Object) },
- stopPopperMouseEvent: { type: Boolean, default: !0 },
- virtualTriggering: Boolean,
- zIndex: Number,
- ...hn(['ariaLabel']),
- }),
- R0 = {
- mouseenter: (e) => e instanceof MouseEvent,
- mouseleave: (e) => e instanceof MouseEvent,
- focus: () => !0,
- blur: () => !0,
- close: () => !0,
- },
- I0 = (e, t) => {
- const n = C(!1),
- i = C()
- return {
- focusStartRef: i,
- trapped: n,
- onFocusAfterReleased: (d) => {
- var c
- ;((c = d.detail) == null ? void 0 : c.focusReason) !== 'pointer' && ((i.value = 'first'), t('blur'))
- },
- onFocusAfterTrapped: () => {
- t('focus')
- },
- onFocusInTrap: (d) => {
- e.visible && !n.value && (d.target && (i.value = d.target), (n.value = !0))
- },
- onFocusoutPrevented: (d) => {
- e.trapping || (d.detail.focusReason === 'pointer' && d.preventDefault(), (n.value = !1))
- },
- onReleaseRequested: () => {
- ;(n.value = !1), t('close')
- },
- }
- },
- E0 = (e, t = []) => {
- const { placement: n, strategy: i, popperOptions: s } = e,
- a = { placement: n, strategy: i, ...s, modifiers: [...D0(e), ...t] }
- return Z0(a, s == null ? void 0 : s.modifiers), a
- },
- M0 = (e) => {
- if (ze) return Bt(e)
- }
- function D0(e) {
- const { offset: t, gpuAcceleration: n, fallbackPlacements: i } = e
- return [
- { name: 'offset', options: { offset: [0, t ?? 12] } },
- { name: 'preventOverflow', options: { padding: { top: 2, bottom: 2, left: 5, right: 5 } } },
- { name: 'flip', options: { padding: 5, fallbackPlacements: i } },
- { name: 'computeStyles', options: { gpuAcceleration: n } },
- ]
- }
- function Z0(e, t) {
- t && (e.modifiers = [...e.modifiers, ...(t ?? [])])
- }
- const S0 = (e, t, n = {}) => {
- const i = {
- name: 'updateState',
- enabled: !0,
- phase: 'write',
- fn: ({ state: l }) => {
- const d = N0(l)
- Object.assign(o.value, d)
- },
- requires: ['computeStyles'],
- },
- s = M(() => {
- const { onFirstUpdate: l, placement: d, strategy: c, modifiers: A } = h(n)
- return {
- onFirstUpdate: l,
- placement: d || 'bottom',
- strategy: c || 'absolute',
- modifiers: [...(A || []), i, { name: 'applyStyles', enabled: !1 }],
- }
- }),
- a = Nn(),
- o = C({
- styles: { popper: { position: h(s).strategy, left: '0', top: '0' }, arrow: { position: 'absolute' } },
- attributes: {},
- }),
- r = () => {
- a.value && (a.value.destroy(), (a.value = void 0))
- }
- return (
- q(
- s,
- (l) => {
- const d = h(a)
- d && d.setOptions(l)
- },
- { deep: !0 }
- ),
- q([e, t], ([l, d]) => {
- r(), !(!l || !d) && (a.value = m0(l, d, h(s)))
- }),
- xe(() => {
- r()
- }),
- {
- state: M(() => {
- var l
- return { ...(((l = h(a)) == null ? void 0 : l.state) || {}) }
- }),
- styles: M(() => h(o).styles),
- attributes: M(() => h(o).attributes),
- update: () => {
- var l
- return (l = h(a)) == null ? void 0 : l.update()
- },
- forceUpdate: () => {
- var l
- return (l = h(a)) == null ? void 0 : l.forceUpdate()
- },
- instanceRef: M(() => h(a)),
- }
- )
- }
- function N0(e) {
- const t = Object.keys(e.elements),
- n = Ys(t.map((s) => [s, e.styles[s] || {}])),
- i = Ys(t.map((s) => [s, e.attributes[s]]))
- return { styles: n, attributes: i }
- }
- const j0 = 0,
- G0 = (e) => {
- const { popperInstanceRef: t, contentRef: n, triggerRef: i, role: s } = de(yo, void 0),
- a = C(),
- o = C(),
- r = M(() => ({ name: 'eventListeners', enabled: !!e.visible })),
- l = M(() => {
- var f
- const w = h(a),
- R = (f = h(o)) != null ? f : j0
- return { name: 'arrow', enabled: !Eg(w), options: { element: w, padding: R } }
- }),
- d = M(() => ({
- onFirstUpdate: () => {
- u()
- },
- ...E0(e, [h(l), h(r)]),
- })),
- c = M(() => M0(e.referenceEl) || h(i)),
- { attributes: A, state: g, styles: b, update: u, forceUpdate: p, instanceRef: v } = S0(c, n, d)
- return (
- q(v, (f) => (t.value = f)),
- Be(() => {
- q(
- () => {
- var f
- return (f = h(c)) == null ? void 0 : f.getBoundingClientRect()
- },
- () => {
- u()
- }
- )
- }),
- {
- attributes: A,
- arrowRef: a,
- contentRef: n,
- instanceRef: v,
- state: g,
- styles: b,
- role: s,
- forceUpdate: p,
- update: u,
- }
- )
- },
- k0 = (e, { attributes: t, styles: n, role: i }) => {
- const { nextZIndex: s } = fu(),
- a = he('popper'),
- o = M(() => h(t).popper),
- r = C(Ne(e.zIndex) ? e.zIndex : s()),
- l = M(() => [a.b(), a.is('pure', e.pure), a.is(e.effect), e.popperClass]),
- d = M(() => [{ zIndex: h(r) }, h(n).popper, e.popperStyle || {}]),
- c = M(() => (i.value === 'dialog' ? 'false' : void 0)),
- A = M(() => h(n).arrow || {})
- return {
- ariaModal: c,
- arrowStyle: A,
- contentAttrs: o,
- contentClass: l,
- contentStyle: d,
- contentZIndex: r,
- updateZIndex: () => {
- r.value = Ne(e.zIndex) ? e.zIndex : s()
- },
- }
- },
- B0 = Q({ name: 'ElPopperContent' }),
- Y0 = Q({
- ...B0,
- props: Bl,
- emits: R0,
- setup(e, { expose: t, emit: n }) {
- const i = e,
- {
- focusStartRef: s,
- trapped: a,
- onFocusAfterReleased: o,
- onFocusAfterTrapped: r,
- onFocusInTrap: l,
- onFocusoutPrevented: d,
- onReleaseRequested: c,
- } = I0(i, n),
- { attributes: A, arrowRef: g, contentRef: b, styles: u, instanceRef: p, role: v, update: f } = G0(i),
- {
- ariaModal: w,
- arrowStyle: R,
- contentAttrs: I,
- contentClass: y,
- contentStyle: E,
- updateZIndex: m,
- } = k0(i, { styles: u, attributes: A, role: v }),
- j = de(gn, void 0),
- U = C()
- it(fl, { arrowStyle: R, arrowRef: g, arrowOffset: U }), j && it(gn, { ...j, addInputId: Fi, removeInputId: Fi })
- let K
- const H = (k = !0) => {
- f(), k && m()
- },
- N = () => {
- H(!1), i.visible && i.focusOnShow ? (a.value = !0) : i.visible === !1 && (a.value = !1)
- }
- return (
- Be(() => {
- q(
- () => i.triggerTargetEl,
- (k, F) => {
- K == null || K(), (K = void 0)
- const L = h(k || b.value),
- O = h(F || b.value)
- Yt(L) &&
- (K = q(
- [v, () => i.ariaLabel, w, () => i.id],
- (G) => {
- ;['role', 'aria-label', 'aria-modal', 'id'].forEach((V, ne) => {
- ns(G[ne]) ? L.removeAttribute(V) : L.setAttribute(V, G[ne])
- })
- },
- { immediate: !0 }
- )),
- O !== L &&
- Yt(O) &&
- ['role', 'aria-label', 'aria-modal', 'id'].forEach((G) => {
- O.removeAttribute(G)
- })
- },
- { immediate: !0 }
- ),
- q(() => i.visible, N, { immediate: !0 })
- }),
- xe(() => {
- K == null || K(), (K = void 0)
- }),
- t({ popperContentRef: b, popperInstanceRef: p, updatePopper: H, contentStyle: E }),
- (k, F) => (
- Z(),
- T(
- 'div',
- dn({ ref_key: 'contentRef', ref: b }, h(I), {
- style: h(E),
- class: h(y),
- tabindex: '-1',
- onMouseenter: (L) => k.$emit('mouseenter', L),
- onMouseleave: (L) => k.$emit('mouseleave', L),
- }),
- [
- P(
- h(hb),
- {
- trapped: h(a),
- 'trap-on-focus-in': !0,
- 'focus-trap-el': h(b),
- 'focus-start-el': h(s),
- onFocusAfterTrapped: h(r),
- onFocusAfterReleased: h(o),
- onFocusin: h(l),
- onFocusoutPrevented: h(d),
- onReleaseRequested: h(c),
- },
- { default: x(() => [$(k.$slots, 'default')]), _: 3 },
- 8,
- [
- 'trapped',
- 'focus-trap-el',
- 'focus-start-el',
- 'onFocusAfterTrapped',
- 'onFocusAfterReleased',
- 'onFocusin',
- 'onFocusoutPrevented',
- 'onReleaseRequested',
- ]
- ),
- ],
- 16,
- ['onMouseenter', 'onMouseleave']
- )
- )
- )
- },
- })
- var U0 = ge(Y0, [['__file', 'content.vue']])
- const T0 = dt(Xf),
- Go = Symbol('elTooltip')
- function _a() {
- let e
- const t = (i, s) => {
- n(), (e = window.setTimeout(i, s))
- },
- n = () => window.clearTimeout(e)
- return ts(() => n()), { registerTimeout: t, cancelTimeout: n }
- }
- const J0 = ye({
- showAfter: { type: Number, default: 0 },
- hideAfter: { type: Number, default: 200 },
- autoClose: { type: Number, default: 0 },
- }),
- C0 = ({ showAfter: e, hideAfter: t, autoClose: n, open: i, close: s }) => {
- const { registerTimeout: a } = _a(),
- { registerTimeout: o, cancelTimeout: r } = _a()
- return {
- onOpen: (c) => {
- a(() => {
- i(c)
- const A = h(n)
- Ne(A) &&
- A > 0 &&
- o(() => {
- s(c)
- }, A)
- }, h(e))
- },
- onClose: (c) => {
- r(),
- a(() => {
- s(c)
- }, h(t))
- },
- }
- },
- ko = ye({
- ...J0,
- ...Bl,
- appendTo: { type: ee([String, Object]) },
- content: { type: String, default: '' },
- rawContent: Boolean,
- persistent: Boolean,
- visible: { type: ee(Boolean), default: null },
- transition: String,
- teleported: { type: Boolean, default: !0 },
- disabled: Boolean,
- ...hn(['ariaLabel']),
- }),
- Yl = ye({
- ...vl,
- disabled: Boolean,
- trigger: { type: ee([String, Array]), default: 'hover' },
- triggerKeys: { type: ee(Array), default: () => [on.enter, on.numpadEnter, on.space] },
- }),
- O0 = Jr({ type: ee(Boolean), default: null }),
- z0 = Jr({ type: ee(Function) }),
- W0 = (e) => {
- const t = `update:${e}`,
- n = `onUpdate:${e}`,
- i = [t],
- s = { [e]: O0, [n]: z0 }
- return {
- useModelToggle: ({
- indicator: o,
- toggleReason: r,
- shouldHideWhenRouteChanges: l,
- shouldProceed: d,
- onShow: c,
- onHide: A,
- }) => {
- const g = Nt(),
- { emit: b } = g,
- u = g.props,
- p = M(() => Oe(u[n])),
- v = M(() => u[e] === null),
- f = (m) => {
- o.value !== !0 && ((o.value = !0), r && (r.value = m), Oe(c) && c(m))
- },
- w = (m) => {
- o.value !== !1 && ((o.value = !1), r && (r.value = m), Oe(A) && A(m))
- },
- R = (m) => {
- if (u.disabled === !0 || (Oe(d) && !d())) return
- const j = p.value && ze
- j && b(t, !0), (v.value || !j) && f(m)
- },
- I = (m) => {
- if (u.disabled === !0 || !ze) return
- const j = p.value && ze
- j && b(t, !1), (v.value || !j) && w(m)
- },
- y = (m) => {
- Tt(m) && (u.disabled && m ? p.value && b(t, !1) : o.value !== m && (m ? f() : w()))
- },
- E = () => {
- o.value ? I() : R()
- }
- return (
- q(() => u[e], y),
- l &&
- g.appContext.config.globalProperties.$route !== void 0 &&
- q(
- () => ({ ...g.proxy.$route }),
- () => {
- l.value && o.value && I()
- }
- ),
- Be(() => {
- y(u[e])
- }),
- { hide: I, show: R, toggle: E, hasUpdateHandler: p }
- )
- },
- useModelToggleProps: s,
- useModelToggleEmits: i,
- }
- },
- { useModelToggleProps: F0, useModelToggleEmits: L0, useModelToggle: x0 } = W0('visible'),
- V0 = ye({ ...bl, ...F0, ...ko, ...Yl, ...hl, showArrow: { type: Boolean, default: !0 } }),
- Q0 = [...L0, 'before-show', 'before-hide', 'show', 'hide', 'open', 'close'],
- X0 = (e, t) => (Ye(e) ? e.includes(t) : e === t),
- Dn = (e, t, n) => (i) => {
- X0(h(e), t) && n(i)
- },
- kt =
- (e, t, { checkForDefaultPrevented: n = !0 } = {}) =>
- (s) => {
- const a = e == null ? void 0 : e(s)
- if (n === !1 || !a) return t == null ? void 0 : t(s)
- },
- P0 = Q({ name: 'ElTooltipTrigger' }),
- H0 = Q({
- ...P0,
- props: Yl,
- setup(e, { expose: t }) {
- const n = e,
- i = he('tooltip'),
- { controlled: s, id: a, open: o, onOpen: r, onClose: l, onToggle: d } = de(Go, void 0),
- c = C(null),
- A = () => {
- if (h(s) || n.disabled) return !0
- },
- g = ht(n, 'trigger'),
- b = kt(A, Dn(g, 'hover', r)),
- u = kt(A, Dn(g, 'hover', l)),
- p = kt(
- A,
- Dn(g, 'click', (I) => {
- I.button === 0 && d(I)
- })
- ),
- v = kt(A, Dn(g, 'focus', r)),
- f = kt(A, Dn(g, 'focus', l)),
- w = kt(
- A,
- Dn(g, 'contextmenu', (I) => {
- I.preventDefault(), d(I)
- })
- ),
- R = kt(A, (I) => {
- const { code: y } = I
- n.triggerKeys.includes(y) && (I.preventDefault(), d(I))
- })
- return (
- t({ triggerRef: c }),
- (I, y) => (
- Z(),
- _(
- h(ib),
- {
- id: h(a),
- 'virtual-ref': I.virtualRef,
- open: h(o),
- 'virtual-triggering': I.virtualTriggering,
- class: B(h(i).e('trigger')),
- onBlur: h(f),
- onClick: h(p),
- onContextmenu: h(w),
- onFocus: h(v),
- onMouseenter: h(b),
- onMouseleave: h(u),
- onKeydown: h(R),
- },
- { default: x(() => [$(I.$slots, 'default')]), _: 3 },
- 8,
- [
- 'id',
- 'virtual-ref',
- 'open',
- 'virtual-triggering',
- 'class',
- 'onBlur',
- 'onClick',
- 'onContextmenu',
- 'onFocus',
- 'onMouseenter',
- 'onMouseleave',
- 'onKeydown',
- ]
- )
- )
- )
- },
- })
- var K0 = ge(H0, [['__file', 'trigger.vue']])
- const q0 = ye({ to: { type: ee([String, Object]), required: !0 }, disabled: Boolean }),
- _0 = Q({
- __name: 'teleport',
- props: q0,
- setup(e) {
- return (t, n) =>
- t.disabled
- ? $(t.$slots, 'default', { key: 0 })
- : (Z(), _(bu, { key: 1, to: t.to }, [$(t.$slots, 'default')], 8, ['to']))
- },
- })
- var $0 = ge(_0, [['__file', 'teleport.vue']])
- const eh = dt($0),
- Ul = () => {
- const e = Yr(),
- t = ul(),
- n = M(() => `${e.value}-popper-container-${t.prefix}`),
- i = M(() => `#${n.value}`)
- return { id: n, selector: i }
- },
- th = (e) => {
- const t = document.createElement('div')
- return (t.id = e), document.body.appendChild(t), t
- },
- nh = () => {
- const { id: e, selector: t } = Ul()
- return (
- is(() => {
- ze && (document.body.querySelector(t.value) || th(e.value))
- }),
- { id: e, selector: t }
- )
- },
- ih = Q({ name: 'ElTooltipContent', inheritAttrs: !1 }),
- sh = Q({
- ...ih,
- props: ko,
- setup(e, { expose: t }) {
- const n = e,
- { selector: i } = Ul(),
- s = he('tooltip'),
- a = C()
- let o
- const {
- controlled: r,
- id: l,
- open: d,
- trigger: c,
- onClose: A,
- onOpen: g,
- onShow: b,
- onHide: u,
- onBeforeShow: p,
- onBeforeHide: v,
- } = de(Go, void 0),
- f = M(() => n.transition || `${s.namespace.value}-fade-in-linear`),
- w = M(() => n.persistent)
- xe(() => {
- o == null || o()
- })
- const R = M(() => (h(w) ? !0 : h(d))),
- I = M(() => (n.disabled ? !1 : h(d))),
- y = M(() => n.appendTo || i.value),
- E = M(() => {
- var G
- return (G = n.style) != null ? G : {}
- }),
- m = C(!0),
- j = () => {
- u(), O() && Gt(document.body), (m.value = !0)
- },
- U = () => {
- if (h(r)) return !0
- },
- K = kt(U, () => {
- n.enterable && h(c) === 'hover' && g()
- }),
- H = kt(U, () => {
- h(c) === 'hover' && A()
- }),
- N = () => {
- var G, V
- ;(V = (G = a.value) == null ? void 0 : G.updatePopper) == null || V.call(G), p == null || p()
- },
- k = () => {
- v == null || v()
- },
- F = () => {
- b(),
- (o = Zg(
- M(() => {
- var G
- return (G = a.value) == null ? void 0 : G.popperContentRef
- }),
- () => {
- if (h(r)) return
- h(c) !== 'hover' && A()
- }
- ))
- },
- L = () => {
- n.virtualTriggering || A()
- },
- O = (G) => {
- var V
- const ne = (V = a.value) == null ? void 0 : V.popperContentRef,
- re = (G == null ? void 0 : G.relatedTarget) || document.activeElement
- return ne == null ? void 0 : ne.contains(re)
- }
- return (
- q(
- () => h(d),
- (G) => {
- G ? (m.value = !1) : o == null || o()
- },
- { flush: 'post' }
- ),
- q(
- () => n.content,
- () => {
- var G, V
- ;(V = (G = a.value) == null ? void 0 : G.updatePopper) == null || V.call(G)
- }
- ),
- t({ contentRef: a, isFocusInsideContent: O }),
- (G, V) => (
- Z(),
- _(
- h(eh),
- { disabled: !G.teleported, to: h(y) },
- {
- default: x(() => [
- P(
- at,
- { name: h(f), onAfterLeave: j, onBeforeEnter: N, onAfterEnter: F, onBeforeLeave: k },
- {
- default: x(() => [
- h(R)
- ? We(
- (Z(),
- _(
- h(U0),
- dn({ key: 0, id: h(l), ref_key: 'contentRef', ref: a }, G.$attrs, {
- 'aria-label': G.ariaLabel,
- 'aria-hidden': m.value,
- 'boundaries-padding': G.boundariesPadding,
- 'fallback-placements': G.fallbackPlacements,
- 'gpu-acceleration': G.gpuAcceleration,
- offset: G.offset,
- placement: G.placement,
- 'popper-options': G.popperOptions,
- strategy: G.strategy,
- effect: G.effect,
- enterable: G.enterable,
- pure: G.pure,
- 'popper-class': G.popperClass,
- 'popper-style': [G.popperStyle, h(E)],
- 'reference-el': G.referenceEl,
- 'trigger-target-el': G.triggerTargetEl,
- visible: h(I),
- 'z-index': G.zIndex,
- onMouseenter: h(K),
- onMouseleave: h(H),
- onBlur: L,
- onClose: h(A),
- }),
- { default: x(() => [$(G.$slots, 'default')]), _: 3 },
- 16,
- [
- 'id',
- 'aria-label',
- 'aria-hidden',
- 'boundaries-padding',
- 'fallback-placements',
- 'gpu-acceleration',
- 'offset',
- 'placement',
- 'popper-options',
- 'strategy',
- 'effect',
- 'enterable',
- 'pure',
- 'popper-class',
- 'popper-style',
- 'reference-el',
- 'trigger-target-el',
- 'visible',
- 'z-index',
- 'onMouseenter',
- 'onMouseleave',
- 'onClose',
- ]
- )),
- [[bn, h(I)]]
- )
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 8,
- ['name']
- ),
- ]),
- _: 3,
- },
- 8,
- ['disabled', 'to']
- )
- )
- )
- },
- })
- var oh = ge(sh, [['__file', 'content.vue']])
- const ah = Q({ name: 'ElTooltip' }),
- rh = Q({
- ...ah,
- props: V0,
- emits: Q0,
- setup(e, { expose: t, emit: n }) {
- const i = e
- nh()
- const s = Ai(),
- a = C(),
- o = C(),
- r = () => {
- var f
- const w = h(a)
- w && ((f = w.popperInstanceRef) == null || f.update())
- },
- l = C(!1),
- d = C(),
- { show: c, hide: A, hasUpdateHandler: g } = x0({ indicator: l, toggleReason: d }),
- { onOpen: b, onClose: u } = C0({
- showAfter: ht(i, 'showAfter'),
- hideAfter: ht(i, 'hideAfter'),
- autoClose: ht(i, 'autoClose'),
- open: c,
- close: A,
- }),
- p = M(() => Tt(i.visible) && !g.value)
- it(Go, {
- controlled: p,
- id: s,
- open: hu(l),
- trigger: ht(i, 'trigger'),
- onOpen: (f) => {
- b(f)
- },
- onClose: (f) => {
- u(f)
- },
- onToggle: (f) => {
- h(l) ? u(f) : b(f)
- },
- onShow: () => {
- n('show', d.value)
- },
- onHide: () => {
- n('hide', d.value)
- },
- onBeforeShow: () => {
- n('before-show', d.value)
- },
- onBeforeHide: () => {
- n('before-hide', d.value)
- },
- updatePopper: r,
- }),
- q(
- () => i.disabled,
- (f) => {
- f && l.value && (l.value = !1)
- }
- )
- const v = (f) => {
- var w
- return (w = o.value) == null ? void 0 : w.isFocusInsideContent(f)
- }
- return (
- vu(() => l.value && A()),
- t({ popperRef: a, contentRef: o, isFocusInsideContent: v, updatePopper: r, onOpen: b, onClose: u, hide: A }),
- (f, w) => (
- Z(),
- _(
- h(T0),
- { ref_key: 'popperRef', ref: a, role: f.role },
- {
- default: x(() => [
- P(
- K0,
- {
- disabled: f.disabled,
- trigger: f.trigger,
- 'trigger-keys': f.triggerKeys,
- 'virtual-ref': f.virtualRef,
- 'virtual-triggering': f.virtualTriggering,
- },
- { default: x(() => [f.$slots.default ? $(f.$slots, 'default', { key: 0 }) : X('v-if', !0)]), _: 3 },
- 8,
- ['disabled', 'trigger', 'trigger-keys', 'virtual-ref', 'virtual-triggering']
- ),
- P(
- oh,
- {
- ref_key: 'contentRef',
- ref: o,
- 'aria-label': f.ariaLabel,
- 'boundaries-padding': f.boundariesPadding,
- content: f.content,
- disabled: f.disabled,
- effect: f.effect,
- enterable: f.enterable,
- 'fallback-placements': f.fallbackPlacements,
- 'hide-after': f.hideAfter,
- 'gpu-acceleration': f.gpuAcceleration,
- offset: f.offset,
- persistent: f.persistent,
- 'popper-class': f.popperClass,
- 'popper-style': f.popperStyle,
- placement: f.placement,
- 'popper-options': f.popperOptions,
- pure: f.pure,
- 'raw-content': f.rawContent,
- 'reference-el': f.referenceEl,
- 'trigger-target-el': f.triggerTargetEl,
- 'show-after': f.showAfter,
- strategy: f.strategy,
- teleported: f.teleported,
- transition: f.transition,
- 'virtual-triggering': f.virtualTriggering,
- 'z-index': f.zIndex,
- 'append-to': f.appendTo,
- },
- {
- default: x(() => [
- $(f.$slots, 'content', {}, () => [
- f.rawContent
- ? (Z(), T('span', { key: 0, innerHTML: f.content }, null, 8, ['innerHTML']))
- : (Z(), T('span', { key: 1 }, ce(f.content), 1)),
- ]),
- f.showArrow
- ? (Z(), _(h(Kf), { key: 0, 'arrow-offset': f.arrowOffset }, null, 8, ['arrow-offset']))
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 8,
- [
- 'aria-label',
- 'boundaries-padding',
- 'content',
- 'disabled',
- 'effect',
- 'enterable',
- 'fallback-placements',
- 'hide-after',
- 'gpu-acceleration',
- 'offset',
- 'persistent',
- 'popper-class',
- 'popper-style',
- 'placement',
- 'popper-options',
- 'pure',
- 'raw-content',
- 'reference-el',
- 'trigger-target-el',
- 'show-after',
- 'strategy',
- 'teleported',
- 'transition',
- 'virtual-triggering',
- 'z-index',
- 'append-to',
- ]
- ),
- ]),
- _: 3,
- },
- 8,
- ['role']
- )
- )
- )
- },
- })
- var lh = ge(rh, [['__file', 'tooltip.vue']])
- const ch = dt(lh),
- uh = ye({
- value: { type: [String, Number], default: '' },
- max: { type: Number, default: 99 },
- isDot: Boolean,
- hidden: Boolean,
- type: { type: String, values: ['primary', 'success', 'warning', 'info', 'danger'], default: 'danger' },
- showZero: { type: Boolean, default: !0 },
- color: String,
- badgeStyle: { type: ee([String, Object, Array]) },
- offset: { type: ee(Array), default: [0, 0] },
- badgeClass: { type: String },
- }),
- dh = Q({ name: 'ElBadge' }),
- ph = Q({
- ...dh,
- props: uh,
- setup(e, { expose: t }) {
- const n = e,
- i = he('badge'),
- s = M(() =>
- n.isDot ? '' : Ne(n.value) && Ne(n.max) ? (n.max < n.value ? `${n.max}+` : `${n.value}`) : `${n.value}`
- ),
- a = M(() => {
- var o, r, l, d, c
- return [
- {
- backgroundColor: n.color,
- marginRight: pn(-((r = (o = n.offset) == null ? void 0 : o[0]) != null ? r : 0)),
- marginTop: pn((d = (l = n.offset) == null ? void 0 : l[1]) != null ? d : 0),
- },
- (c = n.badgeStyle) != null ? c : {},
- ]
- })
- return (
- t({ content: s }),
- (o, r) => (
- Z(),
- T(
- 'div',
- { class: B(h(i).b()) },
- [
- $(o.$slots, 'default'),
- P(
- at,
- { name: `${h(i).namespace.value}-zoom-in-center`, persisted: '' },
- {
- default: x(() => [
- We(
- Y(
- 'sup',
- {
- class: B([
- h(i).e('content'),
- h(i).em('content', o.type),
- h(i).is('fixed', !!o.$slots.default),
- h(i).is('dot', o.isDot),
- h(i).is('hide-zero', !o.showZero && n.value === 0),
- o.badgeClass,
- ]),
- style: Ue(h(a)),
- },
- [$(o.$slots, 'content', { value: h(s) }, () => [Le(ce(h(s)), 1)])],
- 6
- ),
- [[bn, !o.hidden && (h(s) || o.isDot || o.$slots.content)]]
- ),
- ]),
- _: 3,
- },
- 8,
- ['name']
- ),
- ],
- 2
- )
- )
- )
- },
- })
- var Ah = ge(ph, [['__file', 'badge.vue']])
- const gh = dt(Ah),
- Tl = Symbol('buttonGroupContextKey'),
- Ti = ({ from: e, replacement: t, scope: n, version: i, ref: s, type: a = 'API' }, o) => {
- q(
- () => h(o),
- (r) => {},
- { immediate: !0 }
- )
- },
- fh = (e, t) => {
- Ti(
- {
- from: 'type.text',
- replacement: 'link',
- version: '3.0.0',
- scope: 'props',
- ref: 'https://element-plus.org/en-US/component/button.html#button-attributes',
- },
- M(() => e.type === 'text')
- )
- const n = de(Tl, void 0),
- i = mu('button'),
- { form: s } = xn(),
- a = Xt(M(() => (n == null ? void 0 : n.size))),
- o = ls(),
- r = C(),
- l = pi(),
- d = M(() => e.type || (n == null ? void 0 : n.type) || ''),
- c = M(() => {
- var u, p, v
- return (v = (p = e.autoInsertSpace) != null ? p : (u = i.value) == null ? void 0 : u.autoInsertSpace) != null
- ? v
- : !1
- }),
- A = M(() =>
- e.tag === 'button'
- ? {
- ariaDisabled: o.value || e.loading,
- disabled: o.value || e.loading,
- autofocus: e.autofocus,
- type: e.nativeType,
- }
- : {}
- ),
- g = M(() => {
- var u
- const p = (u = l.default) == null ? void 0 : u.call(l)
- if (c.value && (p == null ? void 0 : p.length) === 1) {
- const v = p[0]
- if ((v == null ? void 0 : v.type) === Tr) {
- const f = v.children
- return new RegExp('^\\p{Unified_Ideograph}{2}$', 'u').test(f.trim())
- }
- }
- return !1
- })
- return {
- _disabled: o,
- _size: a,
- _type: d,
- _ref: r,
- _props: A,
- shouldAddSpace: g,
- handleClick: (u) => {
- if (o.value || e.loading) {
- u.stopPropagation()
- return
- }
- e.nativeType === 'reset' && (s == null || s.resetFields()), t('click', u)
- },
- }
- },
- bh = ['default', 'primary', 'success', 'warning', 'info', 'danger', 'text', ''],
- hh = ['button', 'submit', 'reset'],
- Vs = ye({
- size: di,
- disabled: Boolean,
- type: { type: String, values: bh, default: '' },
- icon: { type: An },
- nativeType: { type: String, values: hh, default: 'button' },
- loading: Boolean,
- loadingIcon: { type: An, default: () => rl },
- plain: Boolean,
- text: Boolean,
- link: Boolean,
- bg: Boolean,
- autofocus: Boolean,
- round: Boolean,
- circle: Boolean,
- color: String,
- dark: Boolean,
- autoInsertSpace: { type: Boolean, default: void 0 },
- tag: { type: ee([String, Object]), default: 'button' },
- }),
- vh = { click: (e) => e instanceof MouseEvent }
- function Te(e, t) {
- mh(e) && (e = '100%')
- var n = yh(e)
- return (
- (e = t === 360 ? e : Math.min(t, Math.max(0, parseFloat(e)))),
- n && (e = parseInt(String(e * t), 10) / 100),
- Math.abs(e - t) < 1e-6
- ? 1
- : (t === 360
- ? (e = (e < 0 ? (e % t) + t : e % t) / parseFloat(String(t)))
- : (e = (e % t) / parseFloat(String(t))),
- e)
- )
- }
- function Si(e) {
- return Math.min(1, Math.max(0, e))
- }
- function mh(e) {
- return typeof e == 'string' && e.indexOf('.') !== -1 && parseFloat(e) === 1
- }
- function yh(e) {
- return typeof e == 'string' && e.indexOf('%') !== -1
- }
- function Jl(e) {
- return (e = parseFloat(e)), (isNaN(e) || e < 0 || e > 1) && (e = 1), e
- }
- function Ni(e) {
- return e <= 1 ? ''.concat(Number(e) * 100, '%') : e
- }
- function tn(e) {
- return e.length === 1 ? '0' + e : String(e)
- }
- function wh(e, t, n) {
- return { r: Te(e, 255) * 255, g: Te(t, 255) * 255, b: Te(n, 255) * 255 }
- }
- function $a(e, t, n) {
- ;(e = Te(e, 255)), (t = Te(t, 255)), (n = Te(n, 255))
- var i = Math.max(e, t, n),
- s = Math.min(e, t, n),
- a = 0,
- o = 0,
- r = (i + s) / 2
- if (i === s) (o = 0), (a = 0)
- else {
- var l = i - s
- switch (((o = r > 0.5 ? l / (2 - i - s) : l / (i + s)), i)) {
- case e:
- a = (t - n) / l + (t < n ? 6 : 0)
- break
- case t:
- a = (n - e) / l + 2
- break
- case n:
- a = (e - t) / l + 4
- break
- }
- a /= 6
- }
- return { h: a, s: o, l: r }
- }
- function Ms(e, t, n) {
- return (
- n < 0 && (n += 1),
- n > 1 && (n -= 1),
- n < 1 / 6 ? e + (t - e) * (6 * n) : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e
- )
- }
- function Rh(e, t, n) {
- var i, s, a
- if (((e = Te(e, 360)), (t = Te(t, 100)), (n = Te(n, 100)), t === 0)) (s = n), (a = n), (i = n)
- else {
- var o = n < 0.5 ? n * (1 + t) : n + t - n * t,
- r = 2 * n - o
- ;(i = Ms(r, o, e + 1 / 3)), (s = Ms(r, o, e)), (a = Ms(r, o, e - 1 / 3))
- }
- return { r: i * 255, g: s * 255, b: a * 255 }
- }
- function er(e, t, n) {
- ;(e = Te(e, 255)), (t = Te(t, 255)), (n = Te(n, 255))
- var i = Math.max(e, t, n),
- s = Math.min(e, t, n),
- a = 0,
- o = i,
- r = i - s,
- l = i === 0 ? 0 : r / i
- if (i === s) a = 0
- else {
- switch (i) {
- case e:
- a = (t - n) / r + (t < n ? 6 : 0)
- break
- case t:
- a = (n - e) / r + 2
- break
- case n:
- a = (e - t) / r + 4
- break
- }
- a /= 6
- }
- return { h: a, s: l, v: o }
- }
- function Ih(e, t, n) {
- ;(e = Te(e, 360) * 6), (t = Te(t, 100)), (n = Te(n, 100))
- var i = Math.floor(e),
- s = e - i,
- a = n * (1 - t),
- o = n * (1 - s * t),
- r = n * (1 - (1 - s) * t),
- l = i % 6,
- d = [n, o, a, a, r, n][l],
- c = [r, n, n, o, a, a][l],
- A = [a, a, r, n, n, o][l]
- return { r: d * 255, g: c * 255, b: A * 255 }
- }
- function tr(e, t, n, i) {
- var s = [tn(Math.round(e).toString(16)), tn(Math.round(t).toString(16)), tn(Math.round(n).toString(16))]
- return i && s[0].startsWith(s[0].charAt(1)) && s[1].startsWith(s[1].charAt(1)) && s[2].startsWith(s[2].charAt(1))
- ? s[0].charAt(0) + s[1].charAt(0) + s[2].charAt(0)
- : s.join('')
- }
- function Eh(e, t, n, i, s) {
- var a = [tn(Math.round(e).toString(16)), tn(Math.round(t).toString(16)), tn(Math.round(n).toString(16)), tn(Mh(i))]
- return s &&
- a[0].startsWith(a[0].charAt(1)) &&
- a[1].startsWith(a[1].charAt(1)) &&
- a[2].startsWith(a[2].charAt(1)) &&
- a[3].startsWith(a[3].charAt(1))
- ? a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) + a[3].charAt(0)
- : a.join('')
- }
- function Mh(e) {
- return Math.round(parseFloat(e) * 255).toString(16)
- }
- function nr(e) {
- return _e(e) / 255
- }
- function _e(e) {
- return parseInt(e, 16)
- }
- function Dh(e) {
- return { r: e >> 16, g: (e & 65280) >> 8, b: e & 255 }
- }
- var Qs = {
- aliceblue: '#f0f8ff',
- antiquewhite: '#faebd7',
- aqua: '#00ffff',
- aquamarine: '#7fffd4',
- azure: '#f0ffff',
- beige: '#f5f5dc',
- bisque: '#ffe4c4',
- black: '#000000',
- blanchedalmond: '#ffebcd',
- blue: '#0000ff',
- blueviolet: '#8a2be2',
- brown: '#a52a2a',
- burlywood: '#deb887',
- cadetblue: '#5f9ea0',
- chartreuse: '#7fff00',
- chocolate: '#d2691e',
- coral: '#ff7f50',
- cornflowerblue: '#6495ed',
- cornsilk: '#fff8dc',
- crimson: '#dc143c',
- cyan: '#00ffff',
- darkblue: '#00008b',
- darkcyan: '#008b8b',
- darkgoldenrod: '#b8860b',
- darkgray: '#a9a9a9',
- darkgreen: '#006400',
- darkgrey: '#a9a9a9',
- darkkhaki: '#bdb76b',
- darkmagenta: '#8b008b',
- darkolivegreen: '#556b2f',
- darkorange: '#ff8c00',
- darkorchid: '#9932cc',
- darkred: '#8b0000',
- darksalmon: '#e9967a',
- darkseagreen: '#8fbc8f',
- darkslateblue: '#483d8b',
- darkslategray: '#2f4f4f',
- darkslategrey: '#2f4f4f',
- darkturquoise: '#00ced1',
- darkviolet: '#9400d3',
- deeppink: '#ff1493',
- deepskyblue: '#00bfff',
- dimgray: '#696969',
- dimgrey: '#696969',
- dodgerblue: '#1e90ff',
- firebrick: '#b22222',
- floralwhite: '#fffaf0',
- forestgreen: '#228b22',
- fuchsia: '#ff00ff',
- gainsboro: '#dcdcdc',
- ghostwhite: '#f8f8ff',
- goldenrod: '#daa520',
- gold: '#ffd700',
- gray: '#808080',
- green: '#008000',
- greenyellow: '#adff2f',
- grey: '#808080',
- honeydew: '#f0fff0',
- hotpink: '#ff69b4',
- indianred: '#cd5c5c',
- indigo: '#4b0082',
- ivory: '#fffff0',
- khaki: '#f0e68c',
- lavenderblush: '#fff0f5',
- lavender: '#e6e6fa',
- lawngreen: '#7cfc00',
- lemonchiffon: '#fffacd',
- lightblue: '#add8e6',
- lightcoral: '#f08080',
- lightcyan: '#e0ffff',
- lightgoldenrodyellow: '#fafad2',
- lightgray: '#d3d3d3',
- lightgreen: '#90ee90',
- lightgrey: '#d3d3d3',
- lightpink: '#ffb6c1',
- lightsalmon: '#ffa07a',
- lightseagreen: '#20b2aa',
- lightskyblue: '#87cefa',
- lightslategray: '#778899',
- lightslategrey: '#778899',
- lightsteelblue: '#b0c4de',
- lightyellow: '#ffffe0',
- lime: '#00ff00',
- limegreen: '#32cd32',
- linen: '#faf0e6',
- magenta: '#ff00ff',
- maroon: '#800000',
- mediumaquamarine: '#66cdaa',
- mediumblue: '#0000cd',
- mediumorchid: '#ba55d3',
- mediumpurple: '#9370db',
- mediumseagreen: '#3cb371',
- mediumslateblue: '#7b68ee',
- mediumspringgreen: '#00fa9a',
- mediumturquoise: '#48d1cc',
- mediumvioletred: '#c71585',
- midnightblue: '#191970',
- mintcream: '#f5fffa',
- mistyrose: '#ffe4e1',
- moccasin: '#ffe4b5',
- navajowhite: '#ffdead',
- navy: '#000080',
- oldlace: '#fdf5e6',
- olive: '#808000',
- olivedrab: '#6b8e23',
- orange: '#ffa500',
- orangered: '#ff4500',
- orchid: '#da70d6',
- palegoldenrod: '#eee8aa',
- palegreen: '#98fb98',
- paleturquoise: '#afeeee',
- palevioletred: '#db7093',
- papayawhip: '#ffefd5',
- peachpuff: '#ffdab9',
- peru: '#cd853f',
- pink: '#ffc0cb',
- plum: '#dda0dd',
- powderblue: '#b0e0e6',
- purple: '#800080',
- rebeccapurple: '#663399',
- red: '#ff0000',
- rosybrown: '#bc8f8f',
- royalblue: '#4169e1',
- saddlebrown: '#8b4513',
- salmon: '#fa8072',
- sandybrown: '#f4a460',
- seagreen: '#2e8b57',
- seashell: '#fff5ee',
- sienna: '#a0522d',
- silver: '#c0c0c0',
- skyblue: '#87ceeb',
- slateblue: '#6a5acd',
- slategray: '#708090',
- slategrey: '#708090',
- snow: '#fffafa',
- springgreen: '#00ff7f',
- steelblue: '#4682b4',
- tan: '#d2b48c',
- teal: '#008080',
- thistle: '#d8bfd8',
- tomato: '#ff6347',
- turquoise: '#40e0d0',
- violet: '#ee82ee',
- wheat: '#f5deb3',
- white: '#ffffff',
- whitesmoke: '#f5f5f5',
- yellow: '#ffff00',
- yellowgreen: '#9acd32',
- }
- function Zh(e) {
- var t = { r: 0, g: 0, b: 0 },
- n = 1,
- i = null,
- s = null,
- a = null,
- o = !1,
- r = !1
- return (
- typeof e == 'string' && (e = jh(e)),
- typeof e == 'object' &&
- (jt(e.r) && jt(e.g) && jt(e.b)
- ? ((t = wh(e.r, e.g, e.b)), (o = !0), (r = String(e.r).substr(-1) === '%' ? 'prgb' : 'rgb'))
- : jt(e.h) && jt(e.s) && jt(e.v)
- ? ((i = Ni(e.s)), (s = Ni(e.v)), (t = Ih(e.h, i, s)), (o = !0), (r = 'hsv'))
- : jt(e.h) && jt(e.s) && jt(e.l) && ((i = Ni(e.s)), (a = Ni(e.l)), (t = Rh(e.h, i, a)), (o = !0), (r = 'hsl')),
- Object.prototype.hasOwnProperty.call(e, 'a') && (n = e.a)),
- (n = Jl(n)),
- {
- ok: o,
- format: e.format || r,
- r: Math.min(255, Math.max(t.r, 0)),
- g: Math.min(255, Math.max(t.g, 0)),
- b: Math.min(255, Math.max(t.b, 0)),
- a: n,
- }
- )
- }
- var Sh = '[-\\+]?\\d+%?',
- Nh = '[-\\+]?\\d*\\.\\d+%?',
- Qt = '(?:'.concat(Nh, ')|(?:').concat(Sh, ')'),
- Ds = '[\\s|\\(]+('.concat(Qt, ')[,|\\s]+(').concat(Qt, ')[,|\\s]+(').concat(Qt, ')\\s*\\)?'),
- Zs = '[\\s|\\(]+('.concat(Qt, ')[,|\\s]+(').concat(Qt, ')[,|\\s]+(').concat(Qt, ')[,|\\s]+(').concat(Qt, ')\\s*\\)?'),
- At = {
- CSS_UNIT: new RegExp(Qt),
- rgb: new RegExp('rgb' + Ds),
- rgba: new RegExp('rgba' + Zs),
- hsl: new RegExp('hsl' + Ds),
- hsla: new RegExp('hsla' + Zs),
- hsv: new RegExp('hsv' + Ds),
- hsva: new RegExp('hsva' + Zs),
- hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
- hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
- hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
- hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
- }
- function jh(e) {
- if (((e = e.trim().toLowerCase()), e.length === 0)) return !1
- var t = !1
- if (Qs[e]) (e = Qs[e]), (t = !0)
- else if (e === 'transparent') return { r: 0, g: 0, b: 0, a: 0, format: 'name' }
- var n = At.rgb.exec(e)
- return n
- ? { r: n[1], g: n[2], b: n[3] }
- : ((n = At.rgba.exec(e)),
- n
- ? { r: n[1], g: n[2], b: n[3], a: n[4] }
- : ((n = At.hsl.exec(e)),
- n
- ? { h: n[1], s: n[2], l: n[3] }
- : ((n = At.hsla.exec(e)),
- n
- ? { h: n[1], s: n[2], l: n[3], a: n[4] }
- : ((n = At.hsv.exec(e)),
- n
- ? { h: n[1], s: n[2], v: n[3] }
- : ((n = At.hsva.exec(e)),
- n
- ? { h: n[1], s: n[2], v: n[3], a: n[4] }
- : ((n = At.hex8.exec(e)),
- n
- ? { r: _e(n[1]), g: _e(n[2]), b: _e(n[3]), a: nr(n[4]), format: t ? 'name' : 'hex8' }
- : ((n = At.hex6.exec(e)),
- n
- ? { r: _e(n[1]), g: _e(n[2]), b: _e(n[3]), format: t ? 'name' : 'hex' }
- : ((n = At.hex4.exec(e)),
- n
- ? {
- r: _e(n[1] + n[1]),
- g: _e(n[2] + n[2]),
- b: _e(n[3] + n[3]),
- a: nr(n[4] + n[4]),
- format: t ? 'name' : 'hex8',
- }
- : ((n = At.hex3.exec(e)),
- n
- ? {
- r: _e(n[1] + n[1]),
- g: _e(n[2] + n[2]),
- b: _e(n[3] + n[3]),
- format: t ? 'name' : 'hex',
- }
- : !1)))))))))
- }
- function jt(e) {
- return !!At.CSS_UNIT.exec(String(e))
- }
- var Gh = (function () {
- function e(t, n) {
- t === void 0 && (t = ''), n === void 0 && (n = {})
- var i
- if (t instanceof e) return t
- typeof t == 'number' && (t = Dh(t)), (this.originalInput = t)
- var s = Zh(t)
- ;(this.originalInput = t),
- (this.r = s.r),
- (this.g = s.g),
- (this.b = s.b),
- (this.a = s.a),
- (this.roundA = Math.round(100 * this.a) / 100),
- (this.format = (i = n.format) !== null && i !== void 0 ? i : s.format),
- (this.gradientType = n.gradientType),
- this.r < 1 && (this.r = Math.round(this.r)),
- this.g < 1 && (this.g = Math.round(this.g)),
- this.b < 1 && (this.b = Math.round(this.b)),
- (this.isValid = s.ok)
- }
- return (
- (e.prototype.isDark = function () {
- return this.getBrightness() < 128
- }),
- (e.prototype.isLight = function () {
- return !this.isDark()
- }),
- (e.prototype.getBrightness = function () {
- var t = this.toRgb()
- return (t.r * 299 + t.g * 587 + t.b * 114) / 1e3
- }),
- (e.prototype.getLuminance = function () {
- var t = this.toRgb(),
- n,
- i,
- s,
- a = t.r / 255,
- o = t.g / 255,
- r = t.b / 255
- return (
- a <= 0.03928 ? (n = a / 12.92) : (n = Math.pow((a + 0.055) / 1.055, 2.4)),
- o <= 0.03928 ? (i = o / 12.92) : (i = Math.pow((o + 0.055) / 1.055, 2.4)),
- r <= 0.03928 ? (s = r / 12.92) : (s = Math.pow((r + 0.055) / 1.055, 2.4)),
- 0.2126 * n + 0.7152 * i + 0.0722 * s
- )
- }),
- (e.prototype.getAlpha = function () {
- return this.a
- }),
- (e.prototype.setAlpha = function (t) {
- return (this.a = Jl(t)), (this.roundA = Math.round(100 * this.a) / 100), this
- }),
- (e.prototype.isMonochrome = function () {
- var t = this.toHsl().s
- return t === 0
- }),
- (e.prototype.toHsv = function () {
- var t = er(this.r, this.g, this.b)
- return { h: t.h * 360, s: t.s, v: t.v, a: this.a }
- }),
- (e.prototype.toHsvString = function () {
- var t = er(this.r, this.g, this.b),
- n = Math.round(t.h * 360),
- i = Math.round(t.s * 100),
- s = Math.round(t.v * 100)
- return this.a === 1
- ? 'hsv('.concat(n, ', ').concat(i, '%, ').concat(s, '%)')
- : 'hsva('.concat(n, ', ').concat(i, '%, ').concat(s, '%, ').concat(this.roundA, ')')
- }),
- (e.prototype.toHsl = function () {
- var t = $a(this.r, this.g, this.b)
- return { h: t.h * 360, s: t.s, l: t.l, a: this.a }
- }),
- (e.prototype.toHslString = function () {
- var t = $a(this.r, this.g, this.b),
- n = Math.round(t.h * 360),
- i = Math.round(t.s * 100),
- s = Math.round(t.l * 100)
- return this.a === 1
- ? 'hsl('.concat(n, ', ').concat(i, '%, ').concat(s, '%)')
- : 'hsla('.concat(n, ', ').concat(i, '%, ').concat(s, '%, ').concat(this.roundA, ')')
- }),
- (e.prototype.toHex = function (t) {
- return t === void 0 && (t = !1), tr(this.r, this.g, this.b, t)
- }),
- (e.prototype.toHexString = function (t) {
- return t === void 0 && (t = !1), '#' + this.toHex(t)
- }),
- (e.prototype.toHex8 = function (t) {
- return t === void 0 && (t = !1), Eh(this.r, this.g, this.b, this.a, t)
- }),
- (e.prototype.toHex8String = function (t) {
- return t === void 0 && (t = !1), '#' + this.toHex8(t)
- }),
- (e.prototype.toHexShortString = function (t) {
- return t === void 0 && (t = !1), this.a === 1 ? this.toHexString(t) : this.toHex8String(t)
- }),
- (e.prototype.toRgb = function () {
- return { r: Math.round(this.r), g: Math.round(this.g), b: Math.round(this.b), a: this.a }
- }),
- (e.prototype.toRgbString = function () {
- var t = Math.round(this.r),
- n = Math.round(this.g),
- i = Math.round(this.b)
- return this.a === 1
- ? 'rgb('.concat(t, ', ').concat(n, ', ').concat(i, ')')
- : 'rgba('.concat(t, ', ').concat(n, ', ').concat(i, ', ').concat(this.roundA, ')')
- }),
- (e.prototype.toPercentageRgb = function () {
- var t = function (n) {
- return ''.concat(Math.round(Te(n, 255) * 100), '%')
- }
- return { r: t(this.r), g: t(this.g), b: t(this.b), a: this.a }
- }),
- (e.prototype.toPercentageRgbString = function () {
- var t = function (n) {
- return Math.round(Te(n, 255) * 100)
- }
- return this.a === 1
- ? 'rgb('.concat(t(this.r), '%, ').concat(t(this.g), '%, ').concat(t(this.b), '%)')
- : 'rgba('.concat(t(this.r), '%, ').concat(t(this.g), '%, ').concat(t(this.b), '%, ').concat(this.roundA, ')')
- }),
- (e.prototype.toName = function () {
- if (this.a === 0) return 'transparent'
- if (this.a < 1) return !1
- for (var t = '#' + tr(this.r, this.g, this.b, !1), n = 0, i = Object.entries(Qs); n < i.length; n++) {
- var s = i[n],
- a = s[0],
- o = s[1]
- if (t === o) return a
- }
- return !1
- }),
- (e.prototype.toString = function (t) {
- var n = !!t
- t = t ?? this.format
- var i = !1,
- s = this.a < 1 && this.a >= 0,
- a = !n && s && (t.startsWith('hex') || t === 'name')
- return a
- ? t === 'name' && this.a === 0
- ? this.toName()
- : this.toRgbString()
- : (t === 'rgb' && (i = this.toRgbString()),
- t === 'prgb' && (i = this.toPercentageRgbString()),
- (t === 'hex' || t === 'hex6') && (i = this.toHexString()),
- t === 'hex3' && (i = this.toHexString(!0)),
- t === 'hex4' && (i = this.toHex8String(!0)),
- t === 'hex8' && (i = this.toHex8String()),
- t === 'name' && (i = this.toName()),
- t === 'hsl' && (i = this.toHslString()),
- t === 'hsv' && (i = this.toHsvString()),
- i || this.toHexString())
- }),
- (e.prototype.toNumber = function () {
- return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b)
- }),
- (e.prototype.clone = function () {
- return new e(this.toString())
- }),
- (e.prototype.lighten = function (t) {
- t === void 0 && (t = 10)
- var n = this.toHsl()
- return (n.l += t / 100), (n.l = Si(n.l)), new e(n)
- }),
- (e.prototype.brighten = function (t) {
- t === void 0 && (t = 10)
- var n = this.toRgb()
- return (
- (n.r = Math.max(0, Math.min(255, n.r - Math.round(255 * -(t / 100))))),
- (n.g = Math.max(0, Math.min(255, n.g - Math.round(255 * -(t / 100))))),
- (n.b = Math.max(0, Math.min(255, n.b - Math.round(255 * -(t / 100))))),
- new e(n)
- )
- }),
- (e.prototype.darken = function (t) {
- t === void 0 && (t = 10)
- var n = this.toHsl()
- return (n.l -= t / 100), (n.l = Si(n.l)), new e(n)
- }),
- (e.prototype.tint = function (t) {
- return t === void 0 && (t = 10), this.mix('white', t)
- }),
- (e.prototype.shade = function (t) {
- return t === void 0 && (t = 10), this.mix('black', t)
- }),
- (e.prototype.desaturate = function (t) {
- t === void 0 && (t = 10)
- var n = this.toHsl()
- return (n.s -= t / 100), (n.s = Si(n.s)), new e(n)
- }),
- (e.prototype.saturate = function (t) {
- t === void 0 && (t = 10)
- var n = this.toHsl()
- return (n.s += t / 100), (n.s = Si(n.s)), new e(n)
- }),
- (e.prototype.greyscale = function () {
- return this.desaturate(100)
- }),
- (e.prototype.spin = function (t) {
- var n = this.toHsl(),
- i = (n.h + t) % 360
- return (n.h = i < 0 ? 360 + i : i), new e(n)
- }),
- (e.prototype.mix = function (t, n) {
- n === void 0 && (n = 50)
- var i = this.toRgb(),
- s = new e(t).toRgb(),
- a = n / 100,
- o = { r: (s.r - i.r) * a + i.r, g: (s.g - i.g) * a + i.g, b: (s.b - i.b) * a + i.b, a: (s.a - i.a) * a + i.a }
- return new e(o)
- }),
- (e.prototype.analogous = function (t, n) {
- t === void 0 && (t = 6), n === void 0 && (n = 30)
- var i = this.toHsl(),
- s = 360 / n,
- a = [this]
- for (i.h = (i.h - ((s * t) >> 1) + 720) % 360; --t; ) (i.h = (i.h + s) % 360), a.push(new e(i))
- return a
- }),
- (e.prototype.complement = function () {
- var t = this.toHsl()
- return (t.h = (t.h + 180) % 360), new e(t)
- }),
- (e.prototype.monochromatic = function (t) {
- t === void 0 && (t = 6)
- for (var n = this.toHsv(), i = n.h, s = n.s, a = n.v, o = [], r = 1 / t; t--; )
- o.push(new e({ h: i, s, v: a })), (a = (a + r) % 1)
- return o
- }),
- (e.prototype.splitcomplement = function () {
- var t = this.toHsl(),
- n = t.h
- return [this, new e({ h: (n + 72) % 360, s: t.s, l: t.l }), new e({ h: (n + 216) % 360, s: t.s, l: t.l })]
- }),
- (e.prototype.onBackground = function (t) {
- var n = this.toRgb(),
- i = new e(t).toRgb(),
- s = n.a + i.a * (1 - n.a)
- return new e({
- r: (n.r * n.a + i.r * i.a * (1 - n.a)) / s,
- g: (n.g * n.a + i.g * i.a * (1 - n.a)) / s,
- b: (n.b * n.a + i.b * i.a * (1 - n.a)) / s,
- a: s,
- })
- }),
- (e.prototype.triad = function () {
- return this.polyad(3)
- }),
- (e.prototype.tetrad = function () {
- return this.polyad(4)
- }),
- (e.prototype.polyad = function (t) {
- for (var n = this.toHsl(), i = n.h, s = [this], a = 360 / t, o = 1; o < t; o++)
- s.push(new e({ h: (i + o * a) % 360, s: n.s, l: n.l }))
- return s
- }),
- (e.prototype.equals = function (t) {
- return this.toRgbString() === new e(t).toRgbString()
- }),
- e
- )
- })()
- function Lt(e, t = 20) {
- return e.mix('#141414', t).toString()
- }
- function kh(e) {
- const t = ls(),
- n = he('button')
- return M(() => {
- let i = {},
- s = e.color
- if (s) {
- const a = s.match(/var\((.*?)\)/)
- a && (s = window.getComputedStyle(window.document.documentElement).getPropertyValue(a[1]))
- const o = new Gh(s),
- r = e.dark ? o.tint(20).toString() : Lt(o, 20)
- if (e.plain)
- (i = n.cssVarBlock({
- 'bg-color': e.dark ? Lt(o, 90) : o.tint(90).toString(),
- 'text-color': s,
- 'border-color': e.dark ? Lt(o, 50) : o.tint(50).toString(),
- 'hover-text-color': `var(${n.cssVarName('color-white')})`,
- 'hover-bg-color': s,
- 'hover-border-color': s,
- 'active-bg-color': r,
- 'active-text-color': `var(${n.cssVarName('color-white')})`,
- 'active-border-color': r,
- })),
- t.value &&
- ((i[n.cssVarBlockName('disabled-bg-color')] = e.dark ? Lt(o, 90) : o.tint(90).toString()),
- (i[n.cssVarBlockName('disabled-text-color')] = e.dark ? Lt(o, 50) : o.tint(50).toString()),
- (i[n.cssVarBlockName('disabled-border-color')] = e.dark ? Lt(o, 80) : o.tint(80).toString()))
- else {
- const l = e.dark ? Lt(o, 30) : o.tint(30).toString(),
- d = o.isDark() ? `var(${n.cssVarName('color-white')})` : `var(${n.cssVarName('color-black')})`
- if (
- ((i = n.cssVarBlock({
- 'bg-color': s,
- 'text-color': d,
- 'border-color': s,
- 'hover-bg-color': l,
- 'hover-text-color': d,
- 'hover-border-color': l,
- 'active-bg-color': r,
- 'active-border-color': r,
- })),
- t.value)
- ) {
- const c = e.dark ? Lt(o, 50) : o.tint(50).toString()
- ;(i[n.cssVarBlockName('disabled-bg-color')] = c),
- (i[n.cssVarBlockName('disabled-text-color')] = e.dark
- ? 'rgba(255, 255, 255, 0.5)'
- : `var(${n.cssVarName('color-white')})`),
- (i[n.cssVarBlockName('disabled-border-color')] = c)
- }
- }
- }
- return i
- })
- }
- const Bh = Q({ name: 'ElButton' }),
- Yh = Q({
- ...Bh,
- props: Vs,
- emits: vh,
- setup(e, { expose: t, emit: n }) {
- const i = e,
- s = kh(i),
- a = he('button'),
- { _ref: o, _size: r, _type: l, _disabled: d, _props: c, shouldAddSpace: A, handleClick: g } = fh(i, n),
- b = M(() => [
- a.b(),
- a.m(l.value),
- a.m(r.value),
- a.is('disabled', d.value),
- a.is('loading', i.loading),
- a.is('plain', i.plain),
- a.is('round', i.round),
- a.is('circle', i.circle),
- a.is('text', i.text),
- a.is('link', i.link),
- a.is('has-bg', i.bg),
- ])
- return (
- t({ ref: o, size: r, type: l, disabled: d, shouldAddSpace: A }),
- (u, p) => (
- Z(),
- _(
- Fe(u.tag),
- dn({ ref_key: '_ref', ref: o }, h(c), { class: h(b), style: h(s), onClick: h(g) }),
- {
- default: x(() => [
- u.loading
- ? (Z(),
- T(
- je,
- { key: 0 },
- [
- u.$slots.loading
- ? $(u.$slots, 'loading', { key: 0 })
- : (Z(),
- _(
- h(ot),
- { key: 1, class: B(h(a).is('loading')) },
- { default: x(() => [(Z(), _(Fe(u.loadingIcon)))]), _: 1 },
- 8,
- ['class']
- )),
- ],
- 64
- ))
- : u.icon || u.$slots.icon
- ? (Z(),
- _(
- h(ot),
- { key: 1 },
- {
- default: x(() => [
- u.icon ? (Z(), _(Fe(u.icon), { key: 0 })) : $(u.$slots, 'icon', { key: 1 }),
- ]),
- _: 3,
- }
- ))
- : X('v-if', !0),
- u.$slots.default
- ? (Z(),
- T('span', { key: 2, class: B({ [h(a).em('text', 'expand')]: h(A) }) }, [$(u.$slots, 'default')], 2))
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 16,
- ['class', 'style', 'onClick']
- )
- )
- )
- },
- })
- var Uh = ge(Yh, [['__file', 'button.vue']])
- const Th = { size: Vs.size, type: Vs.type },
- Jh = Q({ name: 'ElButtonGroup' }),
- Ch = Q({
- ...Jh,
- props: Th,
- setup(e) {
- const t = e
- it(Tl, lt({ size: ht(t, 'size'), type: ht(t, 'type') }))
- const n = he('button')
- return (i, s) => (Z(), T('div', { class: B(h(n).b('group')) }, [$(i.$slots, 'default')], 2))
- },
- })
- var Cl = ge(Ch, [['__file', 'button-group.vue']])
- const Ol = dt(Uh, { ButtonGroup: Cl })
- Wn(Cl)
- const zl = {
- modelValue: { type: [Number, String, Boolean], default: void 0 },
- label: { type: [String, Boolean, Number, Object], default: void 0 },
- value: { type: [String, Boolean, Number, Object], default: void 0 },
- indeterminate: Boolean,
- disabled: Boolean,
- checked: Boolean,
- name: { type: String, default: void 0 },
- trueValue: { type: [String, Number], default: void 0 },
- falseValue: { type: [String, Number], default: void 0 },
- trueLabel: { type: [String, Number], default: void 0 },
- falseLabel: { type: [String, Number], default: void 0 },
- id: { type: String, default: void 0 },
- border: Boolean,
- size: di,
- tabindex: [String, Number],
- validateEvent: { type: Boolean, default: !0 },
- ...hn(['ariaControls']),
- },
- Wl = { [$e]: (e) => tt(e) || Ne(e) || Tt(e), change: (e) => tt(e) || Ne(e) || Tt(e) },
- Vn = Symbol('checkboxGroupContextKey'),
- Oh = ({ model: e, isChecked: t }) => {
- const n = de(Vn, void 0),
- i = M(() => {
- var a, o
- const r = (a = n == null ? void 0 : n.max) == null ? void 0 : a.value,
- l = (o = n == null ? void 0 : n.min) == null ? void 0 : o.value
- return (!Vt(r) && e.value.length >= r && !t.value) || (!Vt(l) && e.value.length <= l && t.value)
- })
- return { isDisabled: ls(M(() => (n == null ? void 0 : n.disabled.value) || i.value)), isLimitDisabled: i }
- },
- zh = (e, { model: t, isLimitExceeded: n, hasOwnLabel: i, isDisabled: s, isLabeledByFormItem: a }) => {
- const o = de(Vn, void 0),
- { formItem: r } = xn(),
- { emit: l } = Nt()
- function d(u) {
- var p, v, f, w
- return [!0, e.trueValue, e.trueLabel].includes(u)
- ? (v = (p = e.trueValue) != null ? p : e.trueLabel) != null
- ? v
- : !0
- : (w = (f = e.falseValue) != null ? f : e.falseLabel) != null
- ? w
- : !1
- }
- function c(u, p) {
- l('change', d(u), p)
- }
- function A(u) {
- if (n.value) return
- const p = u.target
- l('change', d(p.checked), u)
- }
- async function g(u) {
- n.value ||
- (!i.value &&
- !s.value &&
- a.value &&
- (u.composedPath().some((f) => f.tagName === 'LABEL') ||
- ((t.value = d([!1, e.falseValue, e.falseLabel].includes(t.value))), await Ee(), c(t.value, u))))
- }
- const b = M(() => (o == null ? void 0 : o.validateEvent) || e.validateEvent)
- return (
- q(
- () => e.modelValue,
- () => {
- b.value && (r == null || r.validate('change').catch((u) => void 0))
- }
- ),
- { handleChange: A, onClickRoot: g }
- )
- },
- Wh = (e) => {
- const t = C(!1),
- { emit: n } = Nt(),
- i = de(Vn, void 0),
- s = M(() => Vt(i) === !1),
- a = C(!1),
- o = M({
- get() {
- var r, l
- return s.value
- ? (r = i == null ? void 0 : i.modelValue) == null
- ? void 0
- : r.value
- : (l = e.modelValue) != null
- ? l
- : t.value
- },
- set(r) {
- var l, d
- s.value && Ye(r)
- ? ((a.value =
- ((l = i == null ? void 0 : i.max) == null ? void 0 : l.value) !== void 0 &&
- r.length > (i == null ? void 0 : i.max.value) &&
- r.length > o.value.length),
- a.value === !1 && ((d = i == null ? void 0 : i.changeEvent) == null || d.call(i, r)))
- : (n($e, r), (t.value = r))
- },
- })
- return { model: o, isGroup: s, isLimitExceeded: a }
- },
- Fh = (e, t, { model: n }) => {
- const i = de(Vn, void 0),
- s = C(!1),
- a = M(() => (Us(e.value) ? e.label : e.value)),
- o = M(() => {
- const c = n.value
- return Tt(c)
- ? c
- : Ye(c)
- ? vt(a.value)
- ? c.map(Ts).some((A) => jn(A, a.value))
- : c.map(Ts).includes(a.value)
- : c != null
- ? c === e.trueValue || c === e.trueLabel
- : !!c
- }),
- r = Xt(
- M(() => {
- var c
- return (c = i == null ? void 0 : i.size) == null ? void 0 : c.value
- }),
- { prop: !0 }
- ),
- l = Xt(
- M(() => {
- var c
- return (c = i == null ? void 0 : i.size) == null ? void 0 : c.value
- })
- ),
- d = M(() => !!t.default || !Us(a.value))
- return { checkboxButtonSize: r, isChecked: o, isFocused: s, checkboxSize: l, hasOwnLabel: d, actualValue: a }
- },
- Fl = (e, t) => {
- const { formItem: n } = xn(),
- { model: i, isGroup: s, isLimitExceeded: a } = Wh(e),
- {
- isFocused: o,
- isChecked: r,
- checkboxButtonSize: l,
- checkboxSize: d,
- hasOwnLabel: c,
- actualValue: A,
- } = Fh(e, t, { model: i }),
- { isDisabled: g } = Oh({ model: i, isChecked: r }),
- { inputId: b, isLabeledByFormItem: u } = rs(e, {
- formItemContext: n,
- disableIdGeneration: c,
- disableIdManagement: s,
- }),
- { handleChange: p, onClickRoot: v } = zh(e, {
- model: i,
- isLimitExceeded: a,
- hasOwnLabel: c,
- isDisabled: g,
- isLabeledByFormItem: u,
- })
- return (
- (() => {
- function w() {
- var R, I
- Ye(i.value) && !i.value.includes(A.value)
- ? i.value.push(A.value)
- : (i.value = (I = (R = e.trueValue) != null ? R : e.trueLabel) != null ? I : !0)
- }
- e.checked && w()
- })(),
- Ti(
- {
- from: 'label act as value',
- replacement: 'value',
- version: '3.0.0',
- scope: 'el-checkbox',
- ref: 'https://element-plus.org/en-US/component/checkbox.html',
- },
- M(() => s.value && Us(e.value))
- ),
- Ti(
- {
- from: 'true-label',
- replacement: 'true-value',
- version: '3.0.0',
- scope: 'el-checkbox',
- ref: 'https://element-plus.org/en-US/component/checkbox.html',
- },
- M(() => !!e.trueLabel)
- ),
- Ti(
- {
- from: 'false-label',
- replacement: 'false-value',
- version: '3.0.0',
- scope: 'el-checkbox',
- ref: 'https://element-plus.org/en-US/component/checkbox.html',
- },
- M(() => !!e.falseLabel)
- ),
- {
- inputId: b,
- isLabeledByFormItem: u,
- isChecked: r,
- isDisabled: g,
- isFocused: o,
- checkboxButtonSize: l,
- checkboxSize: d,
- hasOwnLabel: c,
- model: i,
- actualValue: A,
- handleChange: p,
- onClickRoot: v,
- }
- )
- },
- Lh = Q({ name: 'ElCheckbox' }),
- xh = Q({
- ...Lh,
- props: zl,
- emits: Wl,
- setup(e) {
- const t = e,
- n = pi(),
- {
- inputId: i,
- isLabeledByFormItem: s,
- isChecked: a,
- isDisabled: o,
- isFocused: r,
- checkboxSize: l,
- hasOwnLabel: d,
- model: c,
- actualValue: A,
- handleChange: g,
- onClickRoot: b,
- } = Fl(t, n),
- u = he('checkbox'),
- p = M(() => [
- u.b(),
- u.m(l.value),
- u.is('disabled', o.value),
- u.is('bordered', t.border),
- u.is('checked', a.value),
- ]),
- v = M(() => [
- u.e('input'),
- u.is('disabled', o.value),
- u.is('checked', a.value),
- u.is('indeterminate', t.indeterminate),
- u.is('focus', r.value),
- ])
- return (f, w) => (
- Z(),
- _(
- Fe(!h(d) && h(s) ? 'span' : 'label'),
- { class: B(h(p)), 'aria-controls': f.indeterminate ? f.ariaControls : null, onClick: h(b) },
- {
- default: x(() => {
- var R, I, y, E
- return [
- Y(
- 'span',
- { class: B(h(v)) },
- [
- f.trueValue || f.falseValue || f.trueLabel || f.falseLabel
- ? We(
- (Z(),
- T(
- 'input',
- {
- key: 0,
- id: h(i),
- 'onUpdate:modelValue': (m) => (Li(c) ? (c.value = m) : null),
- class: B(h(u).e('original')),
- type: 'checkbox',
- indeterminate: f.indeterminate,
- name: f.name,
- tabindex: f.tabindex,
- disabled: h(o),
- 'true-value': (I = (R = f.trueValue) != null ? R : f.trueLabel) != null ? I : !0,
- 'false-value': (E = (y = f.falseValue) != null ? y : f.falseLabel) != null ? E : !1,
- onChange: h(g),
- onFocus: (m) => (r.value = !0),
- onBlur: (m) => (r.value = !1),
- onClick: Ze(() => {}, ['stop']),
- },
- null,
- 42,
- [
- 'id',
- 'onUpdate:modelValue',
- 'indeterminate',
- 'name',
- 'tabindex',
- 'disabled',
- 'true-value',
- 'false-value',
- 'onChange',
- 'onFocus',
- 'onBlur',
- 'onClick',
- ]
- )),
- [[xi, h(c)]]
- )
- : We(
- (Z(),
- T(
- 'input',
- {
- key: 1,
- id: h(i),
- 'onUpdate:modelValue': (m) => (Li(c) ? (c.value = m) : null),
- class: B(h(u).e('original')),
- type: 'checkbox',
- indeterminate: f.indeterminate,
- disabled: h(o),
- value: h(A),
- name: f.name,
- tabindex: f.tabindex,
- onChange: h(g),
- onFocus: (m) => (r.value = !0),
- onBlur: (m) => (r.value = !1),
- onClick: Ze(() => {}, ['stop']),
- },
- null,
- 42,
- [
- 'id',
- 'onUpdate:modelValue',
- 'indeterminate',
- 'disabled',
- 'value',
- 'name',
- 'tabindex',
- 'onChange',
- 'onFocus',
- 'onBlur',
- 'onClick',
- ]
- )),
- [[xi, h(c)]]
- ),
- Y('span', { class: B(h(u).e('inner')) }, null, 2),
- ],
- 2
- ),
- h(d)
- ? (Z(),
- T(
- 'span',
- { key: 0, class: B(h(u).e('label')) },
- [
- $(f.$slots, 'default'),
- f.$slots.default ? X('v-if', !0) : (Z(), T(je, { key: 0 }, [Le(ce(f.label), 1)], 64)),
- ],
- 2
- ))
- : X('v-if', !0),
- ]
- }),
- _: 3,
- },
- 8,
- ['class', 'aria-controls', 'onClick']
- )
- )
- },
- })
- var Vh = ge(xh, [['__file', 'checkbox.vue']])
- const Qh = Q({ name: 'ElCheckboxButton' }),
- Xh = Q({
- ...Qh,
- props: zl,
- emits: Wl,
- setup(e) {
- const t = e,
- n = pi(),
- {
- isFocused: i,
- isChecked: s,
- isDisabled: a,
- checkboxButtonSize: o,
- model: r,
- actualValue: l,
- handleChange: d,
- } = Fl(t, n),
- c = de(Vn, void 0),
- A = he('checkbox'),
- g = M(() => {
- var u, p, v, f
- const w = (p = (u = c == null ? void 0 : c.fill) == null ? void 0 : u.value) != null ? p : ''
- return {
- backgroundColor: w,
- borderColor: w,
- color: (f = (v = c == null ? void 0 : c.textColor) == null ? void 0 : v.value) != null ? f : '',
- boxShadow: w ? `-1px 0 0 0 ${w}` : void 0,
- }
- }),
- b = M(() => [
- A.b('button'),
- A.bm('button', o.value),
- A.is('disabled', a.value),
- A.is('checked', s.value),
- A.is('focus', i.value),
- ])
- return (u, p) => {
- var v, f, w, R
- return (
- Z(),
- T(
- 'label',
- { class: B(h(b)) },
- [
- u.trueValue || u.falseValue || u.trueLabel || u.falseLabel
- ? We(
- (Z(),
- T(
- 'input',
- {
- key: 0,
- 'onUpdate:modelValue': (I) => (Li(r) ? (r.value = I) : null),
- class: B(h(A).be('button', 'original')),
- type: 'checkbox',
- name: u.name,
- tabindex: u.tabindex,
- disabled: h(a),
- 'true-value': (f = (v = u.trueValue) != null ? v : u.trueLabel) != null ? f : !0,
- 'false-value': (R = (w = u.falseValue) != null ? w : u.falseLabel) != null ? R : !1,
- onChange: h(d),
- onFocus: (I) => (i.value = !0),
- onBlur: (I) => (i.value = !1),
- onClick: Ze(() => {}, ['stop']),
- },
- null,
- 42,
- [
- 'onUpdate:modelValue',
- 'name',
- 'tabindex',
- 'disabled',
- 'true-value',
- 'false-value',
- 'onChange',
- 'onFocus',
- 'onBlur',
- 'onClick',
- ]
- )),
- [[xi, h(r)]]
- )
- : We(
- (Z(),
- T(
- 'input',
- {
- key: 1,
- 'onUpdate:modelValue': (I) => (Li(r) ? (r.value = I) : null),
- class: B(h(A).be('button', 'original')),
- type: 'checkbox',
- name: u.name,
- tabindex: u.tabindex,
- disabled: h(a),
- value: h(l),
- onChange: h(d),
- onFocus: (I) => (i.value = !0),
- onBlur: (I) => (i.value = !1),
- onClick: Ze(() => {}, ['stop']),
- },
- null,
- 42,
- [
- 'onUpdate:modelValue',
- 'name',
- 'tabindex',
- 'disabled',
- 'value',
- 'onChange',
- 'onFocus',
- 'onBlur',
- 'onClick',
- ]
- )),
- [[xi, h(r)]]
- ),
- u.$slots.default || u.label
- ? (Z(),
- T(
- 'span',
- { key: 2, class: B(h(A).be('button', 'inner')), style: Ue(h(s) ? h(g) : void 0) },
- [$(u.$slots, 'default', {}, () => [Le(ce(u.label), 1)])],
- 6
- ))
- : X('v-if', !0),
- ],
- 2
- )
- )
- }
- },
- })
- var Ll = ge(Xh, [['__file', 'checkbox-button.vue']])
- const Ph = ye({
- modelValue: { type: ee(Array), default: () => [] },
- disabled: Boolean,
- min: Number,
- max: Number,
- size: di,
- fill: String,
- textColor: String,
- tag: { type: String, default: 'div' },
- validateEvent: { type: Boolean, default: !0 },
- ...hn(['ariaLabel']),
- }),
- Hh = { [$e]: (e) => Ye(e), change: (e) => Ye(e) },
- Kh = Q({ name: 'ElCheckboxGroup' }),
- qh = Q({
- ...Kh,
- props: Ph,
- emits: Hh,
- setup(e, { emit: t }) {
- const n = e,
- i = he('checkbox'),
- { formItem: s } = xn(),
- { inputId: a, isLabeledByFormItem: o } = rs(n, { formItemContext: s }),
- r = async (d) => {
- t($e, d), await Ee(), t('change', d)
- },
- l = M({
- get() {
- return n.modelValue
- },
- set(d) {
- r(d)
- },
- })
- return (
- it(Vn, {
- ...il(Fn(n), ['size', 'min', 'max', 'disabled', 'validateEvent', 'fill', 'textColor']),
- modelValue: l,
- changeEvent: r,
- }),
- q(
- () => n.modelValue,
- () => {
- n.validateEvent && (s == null || s.validate('change').catch((d) => void 0))
- }
- ),
- (d, c) => {
- var A
- return (
- Z(),
- _(
- Fe(d.tag),
- {
- id: h(a),
- class: B(h(i).b('group')),
- role: 'group',
- 'aria-label': h(o) ? void 0 : d.ariaLabel || 'checkbox-group',
- 'aria-labelledby': h(o) ? ((A = h(s)) == null ? void 0 : A.labelId) : void 0,
- },
- { default: x(() => [$(d.$slots, 'default')]), _: 3 },
- 8,
- ['id', 'class', 'aria-label', 'aria-labelledby']
- )
- )
- }
- )
- },
- })
- var xl = ge(qh, [['__file', 'checkbox-group.vue']])
- const Vl = dt(Vh, { CheckboxButton: Ll, CheckboxGroup: xl })
- Wn(Ll)
- Wn(xl)
- const _h = (e = '') => e.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'),
- Xs = ye({
- type: { type: String, values: ['primary', 'success', 'info', 'warning', 'danger'], default: 'primary' },
- closable: Boolean,
- disableTransitions: Boolean,
- hit: Boolean,
- color: String,
- size: { type: String, values: lo },
- effect: { type: String, values: ['dark', 'light', 'plain'], default: 'light' },
- round: Boolean,
- }),
- $h = { close: (e) => e instanceof MouseEvent, click: (e) => e instanceof MouseEvent },
- ev = Q({ name: 'ElTag' }),
- tv = Q({
- ...ev,
- props: Xs,
- emits: $h,
- setup(e, { emit: t }) {
- const n = e,
- i = Xt(),
- s = he('tag'),
- a = M(() => {
- const { type: d, hit: c, effect: A, closable: g, round: b } = n
- return [
- s.b(),
- s.is('closable', g),
- s.m(d || 'primary'),
- s.m(i.value),
- s.m(A),
- s.is('hit', c),
- s.is('round', b),
- ]
- }),
- o = (d) => {
- t('close', d)
- },
- r = (d) => {
- t('click', d)
- },
- l = (d) => {
- var c, A, g
- ;(g =
- (A = (c = d == null ? void 0 : d.component) == null ? void 0 : c.subTree) == null ? void 0 : A.component) !=
- null &&
- g.bum &&
- (d.component.subTree.component.bum = null)
- }
- return (d, c) =>
- d.disableTransitions
- ? (Z(),
- T(
- 'span',
- { key: 0, class: B(h(a)), style: Ue({ backgroundColor: d.color }), onClick: r },
- [
- Y('span', { class: B(h(s).e('content')) }, [$(d.$slots, 'default')], 2),
- d.closable
- ? (Z(),
- _(
- h(ot),
- { key: 0, class: B(h(s).e('close')), onClick: Ze(o, ['stop']) },
- { default: x(() => [P(h(Fs))]), _: 1 },
- 8,
- ['class', 'onClick']
- ))
- : X('v-if', !0),
- ],
- 6
- ))
- : (Z(),
- _(
- at,
- { key: 1, name: `${h(s).namespace.value}-zoom-in-center`, appear: '', onVnodeMounted: l },
- {
- default: x(() => [
- Y(
- 'span',
- { class: B(h(a)), style: Ue({ backgroundColor: d.color }), onClick: r },
- [
- Y('span', { class: B(h(s).e('content')) }, [$(d.$slots, 'default')], 2),
- d.closable
- ? (Z(),
- _(
- h(ot),
- { key: 0, class: B(h(s).e('close')), onClick: Ze(o, ['stop']) },
- { default: x(() => [P(h(Fs))]), _: 1 },
- 8,
- ['class', 'onClick']
- ))
- : X('v-if', !0),
- ],
- 6
- ),
- ]),
- _: 3,
- },
- 8,
- ['name']
- ))
- },
- })
- var nv = ge(tv, [['__file', 'tag.vue']])
- const iv = dt(nv),
- xt = new Map()
- if (ze) {
- let e
- document.addEventListener('mousedown', (t) => (e = t)),
- document.addEventListener('mouseup', (t) => {
- if (e) {
- for (const n of xt.values()) for (const { documentHandler: i } of n) i(t, e)
- e = void 0
- }
- })
- }
- function ir(e, t) {
- let n = []
- return (
- Ye(t.arg) ? (n = t.arg) : Yt(t.arg) && n.push(t.arg),
- function (i, s) {
- const a = t.instance.popperRef,
- o = i.target,
- r = s == null ? void 0 : s.target,
- l = !t || !t.instance,
- d = !o || !r,
- c = e.contains(o) || e.contains(r),
- A = e === o,
- g = (n.length && n.some((u) => (u == null ? void 0 : u.contains(o)))) || (n.length && n.includes(r)),
- b = a && (a.contains(o) || a.contains(r))
- l || d || c || A || g || b || t.value(i, s)
- }
- )
- }
- const sv = {
- beforeMount(e, t) {
- xt.has(e) || xt.set(e, []), xt.get(e).push({ documentHandler: ir(e, t), bindingFn: t.value })
- },
- updated(e, t) {
- xt.has(e) || xt.set(e, [])
- const n = xt.get(e),
- i = n.findIndex((a) => a.bindingFn === t.oldValue),
- s = { documentHandler: ir(e, t), bindingFn: t.value }
- i >= 0 ? n.splice(i, 1, s) : n.push(s)
- },
- unmounted(e) {
- xt.delete(e)
- },
- },
- ov = ye({ size: { type: String, values: lo }, disabled: Boolean }),
- av = ye({
- ...ov,
- model: Object,
- rules: { type: ee(Object) },
- labelPosition: { type: String, values: ['left', 'right', 'top'], default: 'right' },
- requireAsteriskPosition: { type: String, values: ['left', 'right'], default: 'left' },
- labelWidth: { type: [String, Number], default: '' },
- labelSuffix: { type: String, default: '' },
- inline: Boolean,
- inlineMessage: Boolean,
- statusIcon: Boolean,
- showMessage: { type: Boolean, default: !0 },
- validateOnRuleChange: { type: Boolean, default: !0 },
- hideRequiredAsterisk: Boolean,
- scrollToError: Boolean,
- scrollIntoViewOptions: { type: [Object, Boolean] },
- }),
- rv = { validate: (e, t, n) => (Ye(e) || tt(e)) && Tt(t) && tt(n) }
- function lv() {
- const e = C([]),
- t = M(() => {
- if (!e.value.length) return '0'
- const a = Math.max(...e.value)
- return a ? `${a}px` : ''
- })
- function n(a) {
- const o = e.value.indexOf(a)
- return o === -1 && t.value, o
- }
- function i(a, o) {
- if (a && o) {
- const r = n(o)
- e.value.splice(r, 1, a)
- } else a && e.value.push(a)
- }
- function s(a) {
- const o = n(a)
- o > -1 && e.value.splice(o, 1)
- }
- return { autoLabelWidth: t, registerLabelWidth: i, deregisterLabelWidth: s }
- }
- const ji = (e, t) => {
- const n = ft(t)
- return n.length > 0 ? e.filter((i) => i.prop && n.includes(i.prop)) : e
- },
- cv = 'ElForm',
- uv = Q({ name: cv }),
- dv = Q({
- ...uv,
- props: av,
- emits: rv,
- setup(e, { expose: t, emit: n }) {
- const i = e,
- s = [],
- a = Xt(),
- o = he('form'),
- r = M(() => {
- const { labelPosition: R, inline: I } = i
- return [o.b(), o.m(a.value || 'default'), { [o.m(`label-${R}`)]: R, [o.m('inline')]: I }]
- }),
- l = (R) => s.find((I) => I.prop === R),
- d = (R) => {
- s.push(R)
- },
- c = (R) => {
- R.prop && s.splice(s.indexOf(R), 1)
- },
- A = (R = []) => {
- i.model && ji(s, R).forEach((I) => I.resetField())
- },
- g = (R = []) => {
- ji(s, R).forEach((I) => I.clearValidate())
- },
- b = M(() => !!i.model),
- u = (R) => {
- if (s.length === 0) return []
- const I = ji(s, R)
- return I.length ? I : []
- },
- p = async (R) => f(void 0, R),
- v = async (R = []) => {
- if (!b.value) return !1
- const I = u(R)
- if (I.length === 0) return !0
- let y = {}
- for (const E of I)
- try {
- await E.validate(''), E.validateState === 'error' && E.resetField()
- } catch (m) {
- y = { ...y, ...m }
- }
- return Object.keys(y).length === 0 ? !0 : Promise.reject(y)
- },
- f = async (R = [], I) => {
- const y = !Oe(I)
- try {
- const E = await v(R)
- return E === !0 && (await (I == null ? void 0 : I(E))), E
- } catch (E) {
- if (E instanceof Error) throw E
- const m = E
- return (
- i.scrollToError && w(Object.keys(m)[0]), await (I == null ? void 0 : I(!1, m)), y && Promise.reject(m)
- )
- }
- },
- w = (R) => {
- var I
- const y = ji(s, R)[0]
- y && ((I = y.$el) == null || I.scrollIntoView(i.scrollIntoViewOptions))
- }
- return (
- q(
- () => i.rules,
- () => {
- i.validateOnRuleChange && p().catch((R) => void 0)
- },
- { deep: !0, flush: 'post' }
- ),
- it(
- Ln,
- lt({
- ...Fn(i),
- emit: n,
- resetFields: A,
- clearValidate: g,
- validateField: f,
- getField: l,
- addField: d,
- removeField: c,
- ...lv(),
- })
- ),
- t({ validate: p, validateField: f, resetFields: A, clearValidate: g, scrollToField: w, fields: s }),
- (R, I) => (Z(), T('form', { class: B(h(r)) }, [$(R.$slots, 'default')], 2))
- )
- },
- })
- var pv = ge(dv, [['__file', 'form.vue']])
- function nn() {
- return (
- (nn = Object.assign
- ? Object.assign.bind()
- : function (e) {
- for (var t = 1; t < arguments.length; t++) {
- var n = arguments[t]
- for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
- }
- return e
- }),
- nn.apply(this, arguments)
- )
- }
- function Av(e, t) {
- ;(e.prototype = Object.create(t.prototype)), (e.prototype.constructor = e), ci(e, t)
- }
- function Ps(e) {
- return (
- (Ps = Object.setPrototypeOf
- ? Object.getPrototypeOf.bind()
- : function (n) {
- return n.__proto__ || Object.getPrototypeOf(n)
- }),
- Ps(e)
- )
- }
- function ci(e, t) {
- return (
- (ci = Object.setPrototypeOf
- ? Object.setPrototypeOf.bind()
- : function (i, s) {
- return (i.__proto__ = s), i
- }),
- ci(e, t)
- )
- }
- function gv() {
- if (typeof Reflect > 'u' || !Reflect.construct || Reflect.construct.sham) return !1
- if (typeof Proxy == 'function') return !0
- try {
- return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
- } catch {
- return !1
- }
- }
- function Ji(e, t, n) {
- return (
- gv()
- ? (Ji = Reflect.construct.bind())
- : (Ji = function (s, a, o) {
- var r = [null]
- r.push.apply(r, a)
- var l = Function.bind.apply(s, r),
- d = new l()
- return o && ci(d, o.prototype), d
- }),
- Ji.apply(null, arguments)
- )
- }
- function fv(e) {
- return Function.toString.call(e).indexOf('[native code]') !== -1
- }
- function Hs(e) {
- var t = typeof Map == 'function' ? new Map() : void 0
- return (
- (Hs = function (i) {
- if (i === null || !fv(i)) return i
- if (typeof i != 'function') throw new TypeError('Super expression must either be null or a function')
- if (typeof t < 'u') {
- if (t.has(i)) return t.get(i)
- t.set(i, s)
- }
- function s() {
- return Ji(i, arguments, Ps(this).constructor)
- }
- return (
- (s.prototype = Object.create(i.prototype, {
- constructor: { value: s, enumerable: !1, writable: !0, configurable: !0 },
- })),
- ci(s, i)
- )
- }),
- Hs(e)
- )
- }
- var bv = /%[sdj%]/g,
- hv = function () {}
- function Ks(e) {
- if (!e || !e.length) return null
- var t = {}
- return (
- e.forEach(function (n) {
- var i = n.field
- ;(t[i] = t[i] || []), t[i].push(n)
- }),
- t
- )
- }
- function et(e) {
- for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]
- var s = 0,
- a = n.length
- if (typeof e == 'function') return e.apply(null, n)
- if (typeof e == 'string') {
- var o = e.replace(bv, function (r) {
- if (r === '%%') return '%'
- if (s >= a) return r
- switch (r) {
- case '%s':
- return String(n[s++])
- case '%d':
- return Number(n[s++])
- case '%j':
- try {
- return JSON.stringify(n[s++])
- } catch {
- return '[Circular]'
- }
- break
- default:
- return r
- }
- })
- return o
- }
- return e
- }
- function vv(e) {
- return e === 'string' || e === 'url' || e === 'hex' || e === 'email' || e === 'date' || e === 'pattern'
- }
- function Ge(e, t) {
- return !!(e == null || (t === 'array' && Array.isArray(e) && !e.length) || (vv(t) && typeof e == 'string' && !e))
- }
- function mv(e, t, n) {
- var i = [],
- s = 0,
- a = e.length
- function o(r) {
- i.push.apply(i, r || []), s++, s === a && n(i)
- }
- e.forEach(function (r) {
- t(r, o)
- })
- }
- function sr(e, t, n) {
- var i = 0,
- s = e.length
- function a(o) {
- if (o && o.length) {
- n(o)
- return
- }
- var r = i
- ;(i = i + 1), r < s ? t(e[r], a) : n([])
- }
- a([])
- }
- function yv(e) {
- var t = []
- return (
- Object.keys(e).forEach(function (n) {
- t.push.apply(t, e[n] || [])
- }),
- t
- )
- }
- var or = (function (e) {
- Av(t, e)
- function t(n, i) {
- var s
- return (s = e.call(this, 'Async Validation Error') || this), (s.errors = n), (s.fields = i), s
- }
- return t
- })(Hs(Error))
- function wv(e, t, n, i, s) {
- if (t.first) {
- var a = new Promise(function (g, b) {
- var u = function (f) {
- return i(f), f.length ? b(new or(f, Ks(f))) : g(s)
- },
- p = yv(e)
- sr(p, n, u)
- })
- return (
- a.catch(function (g) {
- return g
- }),
- a
- )
- }
- var o = t.firstFields === !0 ? Object.keys(e) : t.firstFields || [],
- r = Object.keys(e),
- l = r.length,
- d = 0,
- c = [],
- A = new Promise(function (g, b) {
- var u = function (v) {
- if ((c.push.apply(c, v), d++, d === l)) return i(c), c.length ? b(new or(c, Ks(c))) : g(s)
- }
- r.length || (i(c), g(s)),
- r.forEach(function (p) {
- var v = e[p]
- o.indexOf(p) !== -1 ? sr(v, n, u) : mv(v, n, u)
- })
- })
- return (
- A.catch(function (g) {
- return g
- }),
- A
- )
- }
- function Rv(e) {
- return !!(e && e.message !== void 0)
- }
- function Iv(e, t) {
- for (var n = e, i = 0; i < t.length; i++) {
- if (n == null) return n
- n = n[t[i]]
- }
- return n
- }
- function ar(e, t) {
- return function (n) {
- var i
- return (
- e.fullFields ? (i = Iv(t, e.fullFields)) : (i = t[n.field || e.fullField]),
- Rv(n)
- ? ((n.field = n.field || e.fullField), (n.fieldValue = i), n)
- : { message: typeof n == 'function' ? n() : n, fieldValue: i, field: n.field || e.fullField }
- )
- }
- }
- function rr(e, t) {
- if (t) {
- for (var n in t)
- if (t.hasOwnProperty(n)) {
- var i = t[n]
- typeof i == 'object' && typeof e[n] == 'object' ? (e[n] = nn({}, e[n], i)) : (e[n] = i)
- }
- }
- return e
- }
- var Ql = function (t, n, i, s, a, o) {
- t.required && (!i.hasOwnProperty(t.field) || Ge(n, o || t.type)) && s.push(et(a.messages.required, t.fullField))
- },
- Ev = function (t, n, i, s, a) {
- ;(/^\s+$/.test(n) || n === '') && s.push(et(a.messages.whitespace, t.fullField))
- },
- Gi,
- Mv = function () {
- if (Gi) return Gi
- var e = '[a-fA-F\\d:]',
- t = function (I) {
- return I && I.includeBoundaries ? '(?:(?<=\\s|^)(?=' + e + ')|(?<=' + e + ')(?=\\s|$))' : ''
- },
- n = '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}',
- i = '[a-fA-F\\d]{1,4}',
- s = (
- `
- (?:
- (?:` +
- i +
- ':){7}(?:' +
- i +
- `|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
- (?:` +
- i +
- ':){6}(?:' +
- n +
- '|:' +
- i +
- `|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
- (?:` +
- i +
- ':){5}(?::' +
- n +
- '|(?::' +
- i +
- `){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
- (?:` +
- i +
- ':){4}(?:(?::' +
- i +
- '){0,1}:' +
- n +
- '|(?::' +
- i +
- `){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
- (?:` +
- i +
- ':){3}(?:(?::' +
- i +
- '){0,2}:' +
- n +
- '|(?::' +
- i +
- `){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
- (?:` +
- i +
- ':){2}(?:(?::' +
- i +
- '){0,3}:' +
- n +
- '|(?::' +
- i +
- `){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
- (?:` +
- i +
- ':){1}(?:(?::' +
- i +
- '){0,4}:' +
- n +
- '|(?::' +
- i +
- `){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
- (?::(?:(?::` +
- i +
- '){0,5}:' +
- n +
- '|(?::' +
- i +
- `){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
- )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
- `
- )
- .replace(/\s*\/\/.*$/gm, '')
- .replace(/\n/g, '')
- .trim(),
- a = new RegExp('(?:^' + n + '$)|(?:^' + s + '$)'),
- o = new RegExp('^' + n + '$'),
- r = new RegExp('^' + s + '$'),
- l = function (I) {
- return I && I.exact ? a : new RegExp('(?:' + t(I) + n + t(I) + ')|(?:' + t(I) + s + t(I) + ')', 'g')
- }
- ;(l.v4 = function (R) {
- return R && R.exact ? o : new RegExp('' + t(R) + n + t(R), 'g')
- }),
- (l.v6 = function (R) {
- return R && R.exact ? r : new RegExp('' + t(R) + s + t(R), 'g')
- })
- var d = '(?:(?:[a-z]+:)?//)',
- c = '(?:\\S+(?::\\S*)?@)?',
- A = l.v4().source,
- g = l.v6().source,
- b = '(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)',
- u = '(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*',
- p = '(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))',
- v = '(?::\\d{2,5})?',
- f = '(?:[/?#][^\\s"]*)?',
- w = '(?:' + d + '|www\\.)' + c + '(?:localhost|' + A + '|' + g + '|' + b + u + p + ')' + v + f
- return (Gi = new RegExp('(?:^' + w + '$)', 'i')), Gi
- },
- lr = {
- email:
- /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,
- hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,
- },
- ni = {
- integer: function (t) {
- return ni.number(t) && parseInt(t, 10) === t
- },
- float: function (t) {
- return ni.number(t) && !ni.integer(t)
- },
- array: function (t) {
- return Array.isArray(t)
- },
- regexp: function (t) {
- if (t instanceof RegExp) return !0
- try {
- return !!new RegExp(t)
- } catch {
- return !1
- }
- },
- date: function (t) {
- return (
- typeof t.getTime == 'function' &&
- typeof t.getMonth == 'function' &&
- typeof t.getYear == 'function' &&
- !isNaN(t.getTime())
- )
- },
- number: function (t) {
- return isNaN(t) ? !1 : typeof t == 'number'
- },
- object: function (t) {
- return typeof t == 'object' && !ni.array(t)
- },
- method: function (t) {
- return typeof t == 'function'
- },
- email: function (t) {
- return typeof t == 'string' && t.length <= 320 && !!t.match(lr.email)
- },
- url: function (t) {
- return typeof t == 'string' && t.length <= 2048 && !!t.match(Mv())
- },
- hex: function (t) {
- return typeof t == 'string' && !!t.match(lr.hex)
- },
- },
- Dv = function (t, n, i, s, a) {
- if (t.required && n === void 0) {
- Ql(t, n, i, s, a)
- return
- }
- var o = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'],
- r = t.type
- o.indexOf(r) > -1
- ? ni[r](n) || s.push(et(a.messages.types[r], t.fullField, t.type))
- : r && typeof n !== t.type && s.push(et(a.messages.types[r], t.fullField, t.type))
- },
- Zv = function (t, n, i, s, a) {
- var o = typeof t.len == 'number',
- r = typeof t.min == 'number',
- l = typeof t.max == 'number',
- d = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
- c = n,
- A = null,
- g = typeof n == 'number',
- b = typeof n == 'string',
- u = Array.isArray(n)
- if ((g ? (A = 'number') : b ? (A = 'string') : u && (A = 'array'), !A)) return !1
- u && (c = n.length),
- b && (c = n.replace(d, '_').length),
- o
- ? c !== t.len && s.push(et(a.messages[A].len, t.fullField, t.len))
- : r && !l && c < t.min
- ? s.push(et(a.messages[A].min, t.fullField, t.min))
- : l && !r && c > t.max
- ? s.push(et(a.messages[A].max, t.fullField, t.max))
- : r && l && (c < t.min || c > t.max) && s.push(et(a.messages[A].range, t.fullField, t.min, t.max))
- },
- Zn = 'enum',
- Sv = function (t, n, i, s, a) {
- ;(t[Zn] = Array.isArray(t[Zn]) ? t[Zn] : []),
- t[Zn].indexOf(n) === -1 && s.push(et(a.messages[Zn], t.fullField, t[Zn].join(', ')))
- },
- Nv = function (t, n, i, s, a) {
- if (t.pattern) {
- if (t.pattern instanceof RegExp)
- (t.pattern.lastIndex = 0),
- t.pattern.test(n) || s.push(et(a.messages.pattern.mismatch, t.fullField, n, t.pattern))
- else if (typeof t.pattern == 'string') {
- var o = new RegExp(t.pattern)
- o.test(n) || s.push(et(a.messages.pattern.mismatch, t.fullField, n, t.pattern))
- }
- }
- },
- ae = { required: Ql, whitespace: Ev, type: Dv, range: Zv, enum: Sv, pattern: Nv },
- jv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n, 'string') && !t.required) return i()
- ae.required(t, n, s, o, a, 'string'),
- Ge(n, 'string') ||
- (ae.type(t, n, s, o, a),
- ae.range(t, n, s, o, a),
- ae.pattern(t, n, s, o, a),
- t.whitespace === !0 && ae.whitespace(t, n, s, o, a))
- }
- i(o)
- },
- Gv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && ae.type(t, n, s, o, a)
- }
- i(o)
- },
- kv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if ((n === '' && (n = void 0), Ge(n) && !t.required)) return i()
- ae.required(t, n, s, o, a), n !== void 0 && (ae.type(t, n, s, o, a), ae.range(t, n, s, o, a))
- }
- i(o)
- },
- Bv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && ae.type(t, n, s, o, a)
- }
- i(o)
- },
- Yv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), Ge(n) || ae.type(t, n, s, o, a)
- }
- i(o)
- },
- Uv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && (ae.type(t, n, s, o, a), ae.range(t, n, s, o, a))
- }
- i(o)
- },
- Tv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && (ae.type(t, n, s, o, a), ae.range(t, n, s, o, a))
- }
- i(o)
- },
- Jv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (n == null && !t.required) return i()
- ae.required(t, n, s, o, a, 'array'), n != null && (ae.type(t, n, s, o, a), ae.range(t, n, s, o, a))
- }
- i(o)
- },
- Cv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && ae.type(t, n, s, o, a)
- }
- i(o)
- },
- Ov = 'enum',
- zv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a), n !== void 0 && ae[Ov](t, n, s, o, a)
- }
- i(o)
- },
- Wv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n, 'string') && !t.required) return i()
- ae.required(t, n, s, o, a), Ge(n, 'string') || ae.pattern(t, n, s, o, a)
- }
- i(o)
- },
- Fv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n, 'date') && !t.required) return i()
- if ((ae.required(t, n, s, o, a), !Ge(n, 'date'))) {
- var l
- n instanceof Date ? (l = n) : (l = new Date(n)), ae.type(t, l, s, o, a), l && ae.range(t, l.getTime(), s, o, a)
- }
- }
- i(o)
- },
- Lv = function (t, n, i, s, a) {
- var o = [],
- r = Array.isArray(n) ? 'array' : typeof n
- ae.required(t, n, s, o, a, r), i(o)
- },
- Ss = function (t, n, i, s, a) {
- var o = t.type,
- r = [],
- l = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (l) {
- if (Ge(n, o) && !t.required) return i()
- ae.required(t, n, s, r, a, o), Ge(n, o) || ae.type(t, n, s, r, a)
- }
- i(r)
- },
- xv = function (t, n, i, s, a) {
- var o = [],
- r = t.required || (!t.required && s.hasOwnProperty(t.field))
- if (r) {
- if (Ge(n) && !t.required) return i()
- ae.required(t, n, s, o, a)
- }
- i(o)
- },
- ai = {
- string: jv,
- method: Gv,
- number: kv,
- boolean: Bv,
- regexp: Yv,
- integer: Uv,
- float: Tv,
- array: Jv,
- object: Cv,
- enum: zv,
- pattern: Wv,
- date: Fv,
- url: Ss,
- hex: Ss,
- email: Ss,
- required: Lv,
- any: xv,
- }
- function qs() {
- return {
- default: 'Validation error on field %s',
- required: '%s is required',
- enum: '%s must be one of %s',
- whitespace: '%s cannot be empty',
- date: {
- format: '%s date %s is invalid for format %s',
- parse: '%s date could not be parsed, %s is invalid ',
- invalid: '%s date %s is invalid',
- },
- types: {
- string: '%s is not a %s',
- method: '%s is not a %s (function)',
- array: '%s is not an %s',
- object: '%s is not an %s',
- number: '%s is not a %s',
- date: '%s is not a %s',
- boolean: '%s is not a %s',
- integer: '%s is not an %s',
- float: '%s is not a %s',
- regexp: '%s is not a valid %s',
- email: '%s is not a valid %s',
- url: '%s is not a valid %s',
- hex: '%s is not a valid %s',
- },
- string: {
- len: '%s must be exactly %s characters',
- min: '%s must be at least %s characters',
- max: '%s cannot be longer than %s characters',
- range: '%s must be between %s and %s characters',
- },
- number: {
- len: '%s must equal %s',
- min: '%s cannot be less than %s',
- max: '%s cannot be greater than %s',
- range: '%s must be between %s and %s',
- },
- array: {
- len: '%s must be exactly %s in length',
- min: '%s cannot be less than %s in length',
- max: '%s cannot be greater than %s in length',
- range: '%s must be between %s and %s in length',
- },
- pattern: { mismatch: '%s value %s does not match pattern %s' },
- clone: function () {
- var t = JSON.parse(JSON.stringify(this))
- return (t.clone = this.clone), t
- },
- }
- }
- var _s = qs(),
- bi = (function () {
- function e(n) {
- ;(this.rules = null), (this._messages = _s), this.define(n)
- }
- var t = e.prototype
- return (
- (t.define = function (i) {
- var s = this
- if (!i) throw new Error('Cannot configure a schema with no rules')
- if (typeof i != 'object' || Array.isArray(i)) throw new Error('Rules must be an object')
- ;(this.rules = {}),
- Object.keys(i).forEach(function (a) {
- var o = i[a]
- s.rules[a] = Array.isArray(o) ? o : [o]
- })
- }),
- (t.messages = function (i) {
- return i && (this._messages = rr(qs(), i)), this._messages
- }),
- (t.validate = function (i, s, a) {
- var o = this
- s === void 0 && (s = {}), a === void 0 && (a = function () {})
- var r = i,
- l = s,
- d = a
- if ((typeof l == 'function' && ((d = l), (l = {})), !this.rules || Object.keys(this.rules).length === 0))
- return d && d(null, r), Promise.resolve(r)
- function c(p) {
- var v = [],
- f = {}
- function w(I) {
- if (Array.isArray(I)) {
- var y
- v = (y = v).concat.apply(y, I)
- } else v.push(I)
- }
- for (var R = 0; R < p.length; R++) w(p[R])
- v.length ? ((f = Ks(v)), d(v, f)) : d(null, r)
- }
- if (l.messages) {
- var A = this.messages()
- A === _s && (A = qs()), rr(A, l.messages), (l.messages = A)
- } else l.messages = this.messages()
- var g = {},
- b = l.keys || Object.keys(this.rules)
- b.forEach(function (p) {
- var v = o.rules[p],
- f = r[p]
- v.forEach(function (w) {
- var R = w
- typeof R.transform == 'function' && (r === i && (r = nn({}, r)), (f = r[p] = R.transform(f))),
- typeof R == 'function' ? (R = { validator: R }) : (R = nn({}, R)),
- (R.validator = o.getValidationMethod(R)),
- R.validator &&
- ((R.field = p),
- (R.fullField = R.fullField || p),
- (R.type = o.getType(R)),
- (g[p] = g[p] || []),
- g[p].push({ rule: R, value: f, source: r, field: p }))
- })
- })
- var u = {}
- return wv(
- g,
- l,
- function (p, v) {
- var f = p.rule,
- w =
- (f.type === 'object' || f.type === 'array') &&
- (typeof f.fields == 'object' || typeof f.defaultField == 'object')
- ;(w = w && (f.required || (!f.required && p.value))), (f.field = p.field)
- function R(E, m) {
- return nn({}, m, {
- fullField: f.fullField + '.' + E,
- fullFields: f.fullFields ? [].concat(f.fullFields, [E]) : [E],
- })
- }
- function I(E) {
- E === void 0 && (E = [])
- var m = Array.isArray(E) ? E : [E]
- !l.suppressWarning && m.length && e.warning('async-validator:', m),
- m.length && f.message !== void 0 && (m = [].concat(f.message))
- var j = m.map(ar(f, r))
- if (l.first && j.length) return (u[f.field] = 1), v(j)
- if (!w) v(j)
- else {
- if (f.required && !p.value)
- return (
- f.message !== void 0
- ? (j = [].concat(f.message).map(ar(f, r)))
- : l.error && (j = [l.error(f, et(l.messages.required, f.field))]),
- v(j)
- )
- var U = {}
- f.defaultField &&
- Object.keys(p.value).map(function (N) {
- U[N] = f.defaultField
- }),
- (U = nn({}, U, p.rule.fields))
- var K = {}
- Object.keys(U).forEach(function (N) {
- var k = U[N],
- F = Array.isArray(k) ? k : [k]
- K[N] = F.map(R.bind(null, N))
- })
- var H = new e(K)
- H.messages(l.messages),
- p.rule.options && ((p.rule.options.messages = l.messages), (p.rule.options.error = l.error)),
- H.validate(p.value, p.rule.options || l, function (N) {
- var k = []
- j && j.length && k.push.apply(k, j), N && N.length && k.push.apply(k, N), v(k.length ? k : null)
- })
- }
- }
- var y
- if (f.asyncValidator) y = f.asyncValidator(f, p.value, I, p.source, l)
- else if (f.validator) {
- try {
- y = f.validator(f, p.value, I, p.source, l)
- } catch (E) {
- console.error == null,
- l.suppressValidatorError ||
- setTimeout(function () {
- throw E
- }, 0),
- I(E.message)
- }
- y === !0
- ? I()
- : y === !1
- ? I(
- typeof f.message == 'function'
- ? f.message(f.fullField || f.field)
- : f.message || (f.fullField || f.field) + ' fails'
- )
- : y instanceof Array
- ? I(y)
- : y instanceof Error && I(y.message)
- }
- y &&
- y.then &&
- y.then(
- function () {
- return I()
- },
- function (E) {
- return I(E)
- }
- )
- },
- function (p) {
- c(p)
- },
- r
- )
- }),
- (t.getType = function (i) {
- if (
- (i.type === void 0 && i.pattern instanceof RegExp && (i.type = 'pattern'),
- typeof i.validator != 'function' && i.type && !ai.hasOwnProperty(i.type))
- )
- throw new Error(et('Unknown rule type %s', i.type))
- return i.type || 'string'
- }),
- (t.getValidationMethod = function (i) {
- if (typeof i.validator == 'function') return i.validator
- var s = Object.keys(i),
- a = s.indexOf('message')
- return (
- a !== -1 && s.splice(a, 1),
- s.length === 1 && s[0] === 'required' ? ai.required : ai[this.getType(i)] || void 0
- )
- }),
- e
- )
- })()
- bi.register = function (t, n) {
- if (typeof n != 'function') throw new Error('Cannot register a validator by type, validator is not a function')
- ai[t] = n
- }
- bi.warning = hv
- bi.messages = _s
- bi.validators = ai
- const Vv = ['', 'error', 'validating', 'success'],
- Qv = ye({
- label: String,
- labelWidth: { type: [String, Number], default: '' },
- labelPosition: { type: String, values: ['left', 'right', 'top', ''], default: '' },
- prop: { type: ee([String, Array]) },
- required: { type: Boolean, default: void 0 },
- rules: { type: ee([Object, Array]) },
- error: String,
- validateStatus: { type: String, values: Vv },
- for: String,
- inlineMessage: { type: [String, Boolean], default: '' },
- showMessage: { type: Boolean, default: !0 },
- size: { type: String, values: lo },
- }),
- cr = 'ElLabelWrap'
- var Xv = Q({
- name: cr,
- props: { isAutoWidth: Boolean, updateAll: Boolean },
- setup(e, { slots: t }) {
- const n = de(Ln, void 0),
- i = de(gn)
- i || ol(cr, 'usage: <el-form-item><label-wrap /></el-form-item>')
- const s = he('form'),
- a = C(),
- o = C(0),
- r = () => {
- var c
- if ((c = a.value) != null && c.firstElementChild) {
- const A = window.getComputedStyle(a.value.firstElementChild).width
- return Math.ceil(Number.parseFloat(A))
- } else return 0
- },
- l = (c = 'update') => {
- Ee(() => {
- t.default &&
- e.isAutoWidth &&
- (c === 'update' ? (o.value = r()) : c === 'remove' && (n == null || n.deregisterLabelWidth(o.value)))
- })
- },
- d = () => l('update')
- return (
- Be(() => {
- d()
- }),
- xe(() => {
- l('remove')
- }),
- Ur(() => d()),
- q(o, (c, A) => {
- e.updateAll && (n == null || n.registerLabelWidth(c, A))
- }),
- bt(
- M(() => {
- var c, A
- return (A = (c = a.value) == null ? void 0 : c.firstElementChild) != null ? A : null
- }),
- d
- ),
- () => {
- var c, A
- if (!t) return null
- const { isAutoWidth: g } = e
- if (g) {
- const b = n == null ? void 0 : n.autoLabelWidth,
- u = i == null ? void 0 : i.hasLabel,
- p = {}
- if (u && b && b !== 'auto') {
- const v = Math.max(0, Number.parseInt(b, 10) - o.value),
- w = (i.labelPosition || n.labelPosition) === 'left' ? 'marginRight' : 'marginLeft'
- v && (p[w] = `${v}px`)
- }
- return P('div', { ref: a, class: [s.be('item', 'label-wrap')], style: p }, [
- (c = t.default) == null ? void 0 : c.call(t),
- ])
- } else return P(je, { ref: a }, [(A = t.default) == null ? void 0 : A.call(t)])
- }
- )
- },
- })
- const Pv = Q({ name: 'ElFormItem' }),
- Hv = Q({
- ...Pv,
- props: Qv,
- setup(e, { expose: t }) {
- const n = e,
- i = pi(),
- s = de(Ln, void 0),
- a = de(gn, void 0),
- o = Xt(void 0, { formItem: !1 }),
- r = he('form-item'),
- l = Ai().value,
- d = C([]),
- c = C(''),
- A = yu(c, 100),
- g = C(''),
- b = C()
- let u,
- p = !1
- const v = M(() => n.labelPosition || (s == null ? void 0 : s.labelPosition)),
- f = M(() => {
- if (v.value === 'top') return {}
- const W = pn(n.labelWidth || (s == null ? void 0 : s.labelWidth) || '')
- return W ? { width: W } : {}
- }),
- w = M(() => {
- if (v.value === 'top' || (s != null && s.inline)) return {}
- if (!n.label && !n.labelWidth && K) return {}
- const W = pn(n.labelWidth || (s == null ? void 0 : s.labelWidth) || '')
- return !n.label && !i.label ? { marginLeft: W } : {}
- }),
- R = M(() => [
- r.b(),
- r.m(o.value),
- r.is('error', c.value === 'error'),
- r.is('validating', c.value === 'validating'),
- r.is('success', c.value === 'success'),
- r.is('required', L.value || n.required),
- r.is('no-asterisk', s == null ? void 0 : s.hideRequiredAsterisk),
- (s == null ? void 0 : s.requireAsteriskPosition) === 'right' ? 'asterisk-right' : 'asterisk-left',
- { [r.m('feedback')]: s == null ? void 0 : s.statusIcon, [r.m(`label-${v.value}`)]: v.value },
- ]),
- I = M(() => (Tt(n.inlineMessage) ? n.inlineMessage : (s == null ? void 0 : s.inlineMessage) || !1)),
- y = M(() => [r.e('error'), { [r.em('error', 'inline')]: I.value }]),
- E = M(() => (n.prop ? (tt(n.prop) ? n.prop : n.prop.join('.')) : '')),
- m = M(() => !!(n.label || i.label)),
- j = M(() => n.for || (d.value.length === 1 ? d.value[0] : void 0)),
- U = M(() => !j.value && m.value),
- K = !!a,
- H = M(() => {
- const W = s == null ? void 0 : s.model
- if (!(!W || !n.prop)) return ms(W, n.prop).value
- }),
- N = M(() => {
- const { required: W } = n,
- se = []
- n.rules && se.push(...ft(n.rules))
- const le = s == null ? void 0 : s.rules
- if (le && n.prop) {
- const Ae = ms(le, n.prop).value
- Ae && se.push(...ft(Ae))
- }
- if (W !== void 0) {
- const Ae = se.map((ke, Ve) => [ke, Ve]).filter(([ke]) => Object.keys(ke).includes('required'))
- if (Ae.length > 0) for (const [ke, Ve] of Ae) ke.required !== W && (se[Ve] = { ...ke, required: W })
- else se.push({ required: W })
- }
- return se
- }),
- k = M(() => N.value.length > 0),
- F = (W) =>
- N.value
- .filter((le) => (!le.trigger || !W ? !0 : Ye(le.trigger) ? le.trigger.includes(W) : le.trigger === W))
- .map(({ trigger: le, ...Ae }) => Ae),
- L = M(() => N.value.some((W) => W.required)),
- O = M(() => {
- var W
- return A.value === 'error' && n.showMessage && ((W = s == null ? void 0 : s.showMessage) != null ? W : !0)
- }),
- G = M(() => `${n.label || ''}${(s == null ? void 0 : s.labelSuffix) || ''}`),
- V = (W) => {
- c.value = W
- },
- ne = (W) => {
- var se, le
- const { errors: Ae, fields: ke } = W
- V('error'),
- (g.value = Ae
- ? (le = (se = Ae == null ? void 0 : Ae[0]) == null ? void 0 : se.message) != null
- ? le
- : `${n.prop} is required`
- : ''),
- s == null || s.emit('validate', n.prop, !1, g.value)
- },
- re = () => {
- V('success'), s == null || s.emit('validate', n.prop, !0, '')
- },
- Ie = async (W) => {
- const se = E.value
- return new bi({ [se]: W })
- .validate({ [se]: H.value }, { firstFields: !0 })
- .then(() => (re(), !0))
- .catch((Ae) => (ne(Ae), Promise.reject(Ae)))
- },
- ie = async (W, se) => {
- if (p || !n.prop) return !1
- const le = Oe(se)
- if (!k.value) return se == null || se(!1), !1
- const Ae = F(W)
- return Ae.length === 0
- ? (se == null || se(!0), !0)
- : (V('validating'),
- Ie(Ae)
- .then(() => (se == null || se(!0), !0))
- .catch((ke) => {
- const { fields: Ve } = ke
- return se == null || se(!1, Ve), le ? !1 : Promise.reject(Ve)
- }))
- },
- we = () => {
- V(''), (g.value = ''), (p = !1)
- },
- ve = async () => {
- const W = s == null ? void 0 : s.model
- if (!W || !n.prop) return
- const se = ms(W, n.prop)
- ;(p = !0), (se.value = ha(u)), await Ee(), we(), (p = !1)
- },
- fe = (W) => {
- d.value.includes(W) || d.value.push(W)
- },
- Re = (W) => {
- d.value = d.value.filter((se) => se !== W)
- }
- q(
- () => n.error,
- (W) => {
- ;(g.value = W || ''), V(W ? 'error' : '')
- },
- { immediate: !0 }
- ),
- q(
- () => n.validateStatus,
- (W) => V(W || '')
- )
- const pe = lt({
- ...Fn(n),
- $el: b,
- size: o,
- validateState: c,
- labelId: l,
- inputIds: d,
- isGroup: U,
- hasLabel: m,
- fieldValue: H,
- addInputId: fe,
- removeInputId: Re,
- resetField: ve,
- clearValidate: we,
- validate: ie,
- })
- return (
- it(gn, pe),
- Be(() => {
- n.prop && (s == null || s.addField(pe), (u = ha(H.value)))
- }),
- xe(() => {
- s == null || s.removeField(pe)
- }),
- t({ size: o, validateMessage: g, validateState: c, validate: ie, clearValidate: we, resetField: ve }),
- (W, se) => {
- var le
- return (
- Z(),
- T(
- 'div',
- {
- ref_key: 'formItemRef',
- ref: b,
- class: B(h(R)),
- role: h(U) ? 'group' : void 0,
- 'aria-labelledby': h(U) ? h(l) : void 0,
- },
- [
- P(
- h(Xv),
- {
- 'is-auto-width': h(f).width === 'auto',
- 'update-all': ((le = h(s)) == null ? void 0 : le.labelWidth) === 'auto',
- },
- {
- default: x(() => [
- h(m)
- ? (Z(),
- _(
- Fe(h(j) ? 'label' : 'div'),
- { key: 0, id: h(l), for: h(j), class: B(h(r).e('label')), style: Ue(h(f)) },
- {
- default: x(() => [$(W.$slots, 'label', { label: h(G) }, () => [Le(ce(h(G)), 1)])]),
- _: 3,
- },
- 8,
- ['id', 'for', 'class', 'style']
- ))
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 8,
- ['is-auto-width', 'update-all']
- ),
- Y(
- 'div',
- { class: B(h(r).e('content')), style: Ue(h(w)) },
- [
- $(W.$slots, 'default'),
- P(
- wu,
- { name: `${h(r).namespace.value}-zoom-in-top` },
- {
- default: x(() => [
- h(O)
- ? $(W.$slots, 'error', { key: 0, error: g.value }, () => [
- Y('div', { class: B(h(y)) }, ce(g.value), 3),
- ])
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 8,
- ['name']
- ),
- ],
- 6
- ),
- ],
- 10,
- ['role', 'aria-labelledby']
- )
- )
- }
- )
- },
- })
- var Xl = ge(Hv, [['__file', 'form-item.vue']])
- const Pl = dt(pv, { FormItem: Xl }),
- Hl = Wn(Xl)
- function Kv() {
- const e = Nn(),
- t = C(0),
- n = 11,
- i = M(() => ({ minWidth: `${Math.max(t.value, n)}px` }))
- return (
- bt(e, () => {
- var a, o
- t.value = (o = (a = e.value) == null ? void 0 : a.getBoundingClientRect().width) != null ? o : 0
- }),
- { calculatorRef: e, calculatorWidth: t, inputStyle: i }
- )
- }
- const Kl = Symbol('ElSelectGroup'),
- ps = Symbol('ElSelect')
- function qv(e, t) {
- const n = de(ps),
- i = de(Kl, { disabled: !1 }),
- s = M(() => c(ft(n.props.modelValue), e.value)),
- a = M(() => {
- var b
- if (n.props.multiple) {
- const u = ft((b = n.props.modelValue) != null ? b : [])
- return !s.value && u.length >= n.props.multipleLimit && n.props.multipleLimit > 0
- } else return !1
- }),
- o = M(() => e.label || (vt(e.value) ? '' : e.value)),
- r = M(() => e.value || e.label || ''),
- l = M(() => e.disabled || t.groupDisabled || a.value),
- d = Nt(),
- c = (b = [], u) => {
- if (vt(e.value)) {
- const p = n.props.valueKey
- return b && b.some((v) => Ts(en(v, p)) === en(u, p))
- } else return b && b.includes(u)
- },
- A = () => {
- !e.disabled && !i.disabled && (n.states.hoveringIndex = n.optionsArray.indexOf(d.proxy))
- },
- g = (b) => {
- const u = new RegExp(_h(b), 'i')
- t.visible = u.test(o.value) || e.created
- }
- return (
- q(
- () => o.value,
- () => {
- !e.created && !n.props.remote && n.setSelected()
- }
- ),
- q(
- () => e.value,
- (b, u) => {
- const { remote: p, valueKey: v } = n.props
- if (
- ((p ? b !== u : !jn(b, u)) && (n.onOptionDestroy(u, d.proxy), n.onOptionCreate(d.proxy)), !e.created && !p)
- ) {
- if (v && vt(b) && vt(u) && b[v] === u[v]) return
- n.setSelected()
- }
- }
- ),
- q(
- () => i.disabled,
- () => {
- t.groupDisabled = i.disabled
- },
- { immediate: !0 }
- ),
- { select: n, currentLabel: o, currentValue: r, itemSelected: s, isDisabled: l, hoverItem: A, updateOption: g }
- )
- }
- const _v = Q({
- name: 'ElOption',
- componentName: 'ElOption',
- props: {
- value: { required: !0, type: [String, Number, Boolean, Object] },
- label: [String, Number],
- created: Boolean,
- disabled: Boolean,
- },
- setup(e) {
- const t = he('select'),
- n = Ai(),
- i = M(() => [t.be('dropdown', 'item'), t.is('disabled', h(r)), t.is('selected', h(o)), t.is('hovering', h(g))]),
- s = lt({ index: -1, groupDisabled: !1, visible: !0, hover: !1 }),
- { currentLabel: a, itemSelected: o, isDisabled: r, select: l, hoverItem: d, updateOption: c } = qv(e, s),
- { visible: A, hover: g } = Fn(s),
- b = Nt().proxy
- l.onOptionCreate(b),
- xe(() => {
- const p = b.value,
- { selected: v } = l.states,
- f = v.some((w) => w.value === b.value)
- Ee(() => {
- l.states.cachedOptions.get(p) === b && !f && l.states.cachedOptions.delete(p)
- }),
- l.onOptionDestroy(p, b)
- })
- function u() {
- r.value || l.handleOptionSelect(b)
- }
- return {
- ns: t,
- id: n,
- containerKls: i,
- currentLabel: a,
- itemSelected: o,
- isDisabled: r,
- select: l,
- hoverItem: d,
- updateOption: c,
- visible: A,
- hover: g,
- selectOptionClick: u,
- states: s,
- }
- },
- })
- function $v(e, t, n, i, s, a) {
- return We(
- (Z(),
- T(
- 'li',
- {
- id: e.id,
- class: B(e.containerKls),
- role: 'option',
- 'aria-disabled': e.isDisabled || void 0,
- 'aria-selected': e.itemSelected,
- onMousemove: e.hoverItem,
- onClick: Ze(e.selectOptionClick, ['stop']),
- },
- [$(e.$slots, 'default', {}, () => [Y('span', null, ce(e.currentLabel), 1)])],
- 42,
- ['id', 'aria-disabled', 'aria-selected', 'onMousemove', 'onClick']
- )),
- [[bn, e.visible]]
- )
- }
- var Bo = ge(_v, [
- ['render', $v],
- ['__file', 'option.vue'],
- ])
- const em = Q({
- name: 'ElSelectDropdown',
- componentName: 'ElSelectDropdown',
- setup() {
- const e = de(ps),
- t = he('select'),
- n = M(() => e.props.popperClass),
- i = M(() => e.props.multiple),
- s = M(() => e.props.fitInputWidth),
- a = C('')
- function o() {
- var r
- a.value = `${(r = e.selectRef) == null ? void 0 : r.offsetWidth}px`
- }
- return (
- Be(() => {
- o(), bt(e.selectRef, o)
- }),
- { ns: t, minWidth: a, popperClass: n, isMultiple: i, isFitInputWidth: s }
- )
- },
- })
- function tm(e, t, n, i, s, a) {
- return (
- Z(),
- T(
- 'div',
- {
- class: B([e.ns.b('dropdown'), e.ns.is('multiple', e.isMultiple), e.popperClass]),
- style: Ue({ [e.isFitInputWidth ? 'width' : 'minWidth']: e.minWidth }),
- },
- [
- e.$slots.header
- ? (Z(), T('div', { key: 0, class: B(e.ns.be('dropdown', 'header')) }, [$(e.$slots, 'header')], 2))
- : X('v-if', !0),
- $(e.$slots, 'default'),
- e.$slots.footer
- ? (Z(), T('div', { key: 1, class: B(e.ns.be('dropdown', 'footer')) }, [$(e.$slots, 'footer')], 2))
- : X('v-if', !0),
- ],
- 6
- )
- )
- }
- var nm = ge(em, [
- ['render', tm],
- ['__file', 'select-dropdown.vue'],
- ])
- const im = (e, t) => {
- const { t: n } = Ru(),
- i = Ai(),
- s = he('select'),
- a = he('input'),
- o = lt({
- inputValue: '',
- options: new Map(),
- cachedOptions: new Map(),
- optionValues: [],
- selected: [],
- selectionWidth: 0,
- collapseItemWidth: 0,
- selectedLabel: '',
- hoveringIndex: -1,
- previousQuery: null,
- inputHovering: !1,
- menuVisibleOnFocus: !1,
- isBeforeHide: !1,
- }),
- r = C(null),
- l = C(null),
- d = C(null),
- c = C(null),
- A = C(null),
- g = C(null),
- b = C(null),
- u = C(null),
- p = C(null),
- v = C(null),
- f = C(null),
- {
- isComposing: w,
- handleCompositionStart: R,
- handleCompositionUpdate: I,
- handleCompositionEnd: y,
- } = Al({ afterComposition: (D) => Wt(D) }),
- {
- wrapperRef: E,
- isFocused: m,
- handleBlur: j,
- } = pl(A, {
- beforeFocus() {
- return O.value
- },
- afterFocus() {
- e.automaticDropdown && !U.value && ((U.value = !0), (o.menuVisibleOnFocus = !0))
- },
- beforeBlur(D) {
- var z, oe
- return (
- ((z = d.value) == null ? void 0 : z.isFocusInsideContent(D)) ||
- ((oe = c.value) == null ? void 0 : oe.isFocusInsideContent(D))
- )
- },
- afterBlur() {
- ;(U.value = !1), (o.menuVisibleOnFocus = !1)
- },
- }),
- U = C(!1),
- K = C(),
- { form: H, formItem: N } = xn(),
- { inputId: k } = rs(e, { formItemContext: N }),
- { valueOnClear: F, isEmptyValue: L } = Iu(e),
- O = M(() => e.disabled || (H == null ? void 0 : H.disabled)),
- G = M(() => (Ye(e.modelValue) ? e.modelValue.length > 0 : !L(e.modelValue))),
- V = M(() => {
- var D
- return (D = H == null ? void 0 : H.statusIcon) != null ? D : !1
- }),
- ne = M(() => e.clearable && !O.value && o.inputHovering && G.value),
- re = M(() => (e.remote && e.filterable && !e.remoteShowSuffix ? '' : e.suffixIcon)),
- Ie = M(() => s.is('reverse', re.value && U.value)),
- ie = M(() => (N == null ? void 0 : N.validateState) || ''),
- we = M(() => ll[ie.value]),
- ve = M(() => (e.remote ? 300 : 0)),
- fe = M(() => e.remote && !o.inputValue && o.options.size === 0),
- Re = M(() =>
- e.loading
- ? e.loadingText || n('el.select.loading')
- : e.filterable && o.inputValue && o.options.size > 0 && pe.value === 0
- ? e.noMatchText || n('el.select.noMatch')
- : o.options.size === 0
- ? e.noDataText || n('el.select.noData')
- : null
- ),
- pe = M(() => W.value.filter((D) => D.visible).length),
- W = M(() => {
- const D = Array.from(o.options.values()),
- z = []
- return (
- o.optionValues.forEach((oe) => {
- const Se = D.findIndex((qe) => qe.value === oe)
- Se > -1 && z.push(D[Se])
- }),
- z.length >= D.length ? z : D
- )
- }),
- se = M(() => Array.from(o.cachedOptions.values())),
- le = M(() => {
- const D = W.value.filter((z) => !z.created).some((z) => z.currentLabel === o.inputValue)
- return e.filterable && e.allowCreate && o.inputValue !== '' && !D
- }),
- Ae = () => {
- ;(e.filterable && Oe(e.filterMethod)) ||
- (e.filterable && e.remote && Oe(e.remoteMethod)) ||
- W.value.forEach((D) => {
- var z
- ;(z = D.updateOption) == null || z.call(D, o.inputValue)
- })
- },
- ke = Xt(),
- Ve = M(() => (['small'].includes(ke.value) ? 'small' : 'default')),
- vn = M({
- get() {
- return U.value && !fe.value
- },
- set(D) {
- U.value = D
- },
- }),
- mn = M(() => {
- if (e.multiple && !Vt(e.modelValue)) return ft(e.modelValue).length === 0 && !o.inputValue
- const D = Ye(e.modelValue) ? e.modelValue[0] : e.modelValue
- return e.filterable || Vt(D) ? !o.inputValue : !0
- }),
- yn = M(() => {
- var D
- const z = (D = e.placeholder) != null ? D : n('el.select.placeholder')
- return e.multiple || !G.value ? z : o.selectedLabel
- }),
- wn = M(() => (Bs ? null : 'mouseenter'))
- q(
- () => e.modelValue,
- (D, z) => {
- e.multiple && e.filterable && !e.reserveKeyword && ((o.inputValue = ''), Ot('')),
- Qe(),
- !jn(D, z) && e.validateEvent && (N == null || N.validate('change').catch((oe) => void 0))
- },
- { flush: 'post', deep: !0 }
- ),
- q(
- () => U.value,
- (D) => {
- D ? Ot(o.inputValue) : ((o.inputValue = ''), (o.previousQuery = null), (o.isBeforeHide = !0)),
- t('visible-change', D)
- }
- ),
- q(
- () => o.options.entries(),
- () => {
- ze && (Qe(), e.defaultFirstOption && (e.filterable || e.remote) && pe.value && Rn())
- },
- { flush: 'post' }
- ),
- q(
- () => o.hoveringIndex,
- (D) => {
- Ne(D) && D > -1 ? (K.value = W.value[D] || {}) : (K.value = {}),
- W.value.forEach((z) => {
- z.hover = K.value === z
- })
- }
- ),
- Eu(() => {
- o.isBeforeHide || Ae()
- })
- const Ot = (D) => {
- o.previousQuery === D ||
- w.value ||
- ((o.previousQuery = D),
- e.filterable && Oe(e.filterMethod)
- ? e.filterMethod(D)
- : e.filterable && e.remote && Oe(e.remoteMethod) && e.remoteMethod(D),
- e.defaultFirstOption && (e.filterable || e.remote) && pe.value ? Ee(Rn) : Ee(In))
- },
- Rn = () => {
- const D = W.value.filter((qe) => qe.visible && !qe.disabled && !qe.states.groupDisabled),
- z = D.find((qe) => qe.created),
- oe = D[0],
- Se = W.value.map((qe) => qe.value)
- o.hoveringIndex = Lo(Se, z || oe)
- },
- Qe = () => {
- if (e.multiple) o.selectedLabel = ''
- else {
- const z = Ye(e.modelValue) ? e.modelValue[0] : e.modelValue,
- oe = Rt(z)
- ;(o.selectedLabel = oe.currentLabel), (o.selected = [oe])
- return
- }
- const D = []
- Vt(e.modelValue) ||
- ft(e.modelValue).forEach((z) => {
- D.push(Rt(z))
- }),
- (o.selected = D)
- },
- Rt = (D) => {
- let z
- const oe = Mu(D)
- for (let En = o.cachedOptions.size - 1; En >= 0; En--) {
- const Ft = se.value[En]
- if (oe ? en(Ft.value, e.valueKey) === en(D, e.valueKey) : Ft.value === D) {
- z = {
- value: D,
- currentLabel: Ft.currentLabel,
- get isDisabled() {
- return Ft.isDisabled
- },
- }
- break
- }
- }
- if (z) return z
- const Se = oe ? D.label : (D ?? '')
- return { value: D, currentLabel: Se }
- },
- In = () => {
- o.hoveringIndex = W.value.findIndex((D) => o.selected.some((z) => wi(z) === wi(D)))
- },
- _t = () => {
- o.selectionWidth = l.value.getBoundingClientRect().width
- },
- J = () => {
- o.collapseItemWidth = v.value.getBoundingClientRect().width
- },
- ue = () => {
- var D, z
- ;(z = (D = d.value) == null ? void 0 : D.updatePopper) == null || z.call(D)
- },
- st = () => {
- var D, z
- ;(z = (D = c.value) == null ? void 0 : D.updatePopper) == null || z.call(D)
- },
- zt = () => {
- o.inputValue.length > 0 && !U.value && (U.value = !0), Ot(o.inputValue)
- },
- Wt = (D) => {
- if (((o.inputValue = D.target.value), e.remote)) zo()
- else return zt()
- },
- zo = Rg(() => {
- zt()
- }, ve.value),
- Kn = (D) => {
- jn(e.modelValue, D) || t(al, D)
- },
- jc = (D) =>
- Ig(D, (z) => {
- const oe = o.cachedOptions.get(z)
- return oe && !oe.disabled && !oe.states.groupDisabled
- }),
- Gc = (D) => {
- if (e.multiple && D.code !== on.delete && D.target.value.length <= 0) {
- const z = ft(e.modelValue).slice(),
- oe = jc(z)
- if (oe < 0) return
- const Se = z[oe]
- z.splice(oe, 1), t($e, z), Kn(z), t('remove-tag', Se)
- }
- },
- kc = (D, z) => {
- const oe = o.selected.indexOf(z)
- if (oe > -1 && !O.value) {
- const Se = ft(e.modelValue).slice()
- Se.splice(oe, 1), t($e, Se), Kn(Se), t('remove-tag', z.value)
- }
- D.stopPropagation(), yi()
- },
- Wo = (D) => {
- D.stopPropagation()
- const z = e.multiple ? [] : F.value
- if (e.multiple) for (const oe of o.selected) oe.isDisabled && z.push(oe.value)
- t($e, z), Kn(z), (o.hoveringIndex = -1), (U.value = !1), t('clear'), yi()
- },
- Fo = (D) => {
- var z
- if (e.multiple) {
- const oe = ft((z = e.modelValue) != null ? z : []).slice(),
- Se = Lo(oe, D)
- Se > -1 ? oe.splice(Se, 1) : (e.multipleLimit <= 0 || oe.length < e.multipleLimit) && oe.push(D.value),
- t($e, oe),
- Kn(oe),
- D.created && Ot(''),
- e.filterable && !e.reserveKeyword && (o.inputValue = '')
- } else t($e, D.value), Kn(D.value), (U.value = !1)
- yi(),
- !U.value &&
- Ee(() => {
- mi(D)
- })
- },
- Lo = (D = [], z) =>
- Vt(z) ? -1 : vt(z.value) ? D.findIndex((oe) => jn(en(oe, e.valueKey), wi(z))) : D.indexOf(z.value),
- mi = (D) => {
- var z, oe, Se, qe, En
- const Ft = Ye(D) ? D[0] : D
- let Ri = null
- if (Ft != null && Ft.value) {
- const qn = W.value.filter((Hc) => Hc.value === Ft.value)
- qn.length > 0 && (Ri = qn[0].$el)
- }
- if (d.value && Ri) {
- const qn =
- (qe =
- (Se = (oe = (z = d.value) == null ? void 0 : z.popperRef) == null ? void 0 : oe.contentRef) == null
- ? void 0
- : Se.querySelector) == null
- ? void 0
- : qe.call(Se, `.${s.be('dropdown', 'wrap')}`)
- qn && Wg(qn, Ri)
- }
- ;(En = f.value) == null || En.handleScroll()
- },
- Bc = (D) => {
- o.options.set(D.value, D), o.cachedOptions.set(D.value, D)
- },
- Yc = (D, z) => {
- o.options.get(D) === z && o.options.delete(D)
- },
- Uc = M(() => {
- var D, z
- return (z = (D = d.value) == null ? void 0 : D.popperRef) == null ? void 0 : z.contentRef
- }),
- Tc = () => {
- ;(o.isBeforeHide = !1),
- Ee(() => {
- var D
- ;(D = f.value) == null || D.update(), mi(o.selected)
- })
- },
- yi = () => {
- var D
- ;(D = A.value) == null || D.focus()
- },
- Jc = () => {
- var D
- if (U.value) {
- ;(U.value = !1),
- Ee(() => {
- var z
- return (z = A.value) == null ? void 0 : z.blur()
- })
- return
- }
- ;(D = A.value) == null || D.blur()
- },
- Cc = (D) => {
- Wo(D)
- },
- Oc = (D) => {
- if (((U.value = !1), m.value)) {
- const z = new FocusEvent('focus', D)
- Ee(() => j(z))
- }
- },
- zc = () => {
- o.inputValue.length > 0 ? (o.inputValue = '') : (U.value = !1)
- },
- xo = () => {
- O.value ||
- (Bs && (o.inputHovering = !0), o.menuVisibleOnFocus ? (o.menuVisibleOnFocus = !1) : (U.value = !U.value))
- },
- Wc = () => {
- if (!U.value) xo()
- else {
- const D = W.value[o.hoveringIndex]
- D && !D.isDisabled && Fo(D)
- }
- },
- wi = (D) => (vt(D.value) ? en(D.value, e.valueKey) : D.value),
- Fc = M(() => W.value.filter((D) => D.visible).every((D) => D.isDisabled)),
- Lc = M(() => (e.multiple ? (e.collapseTags ? o.selected.slice(0, e.maxCollapseTags) : o.selected) : [])),
- xc = M(() => (e.multiple ? (e.collapseTags ? o.selected.slice(e.maxCollapseTags) : []) : [])),
- Vo = (D) => {
- if (!U.value) {
- U.value = !0
- return
- }
- if (!(o.options.size === 0 || pe.value === 0 || w.value) && !Fc.value) {
- D === 'next'
- ? (o.hoveringIndex++, o.hoveringIndex === o.options.size && (o.hoveringIndex = 0))
- : D === 'prev' && (o.hoveringIndex--, o.hoveringIndex < 0 && (o.hoveringIndex = o.options.size - 1))
- const z = W.value[o.hoveringIndex]
- ;(z.isDisabled || !z.visible) && Vo(D), Ee(() => mi(K.value))
- }
- },
- Vc = () => {
- if (!l.value) return 0
- const D = window.getComputedStyle(l.value)
- return Number.parseFloat(D.gap || '6px')
- },
- Qc = M(() => {
- const D = Vc()
- return {
- maxWidth: `${v.value && e.maxCollapseTags === 1 ? o.selectionWidth - o.collapseItemWidth - D : o.selectionWidth}px`,
- }
- }),
- Xc = M(() => ({ maxWidth: `${o.selectionWidth}px` })),
- Pc = (D) => {
- t('popup-scroll', D)
- }
- return (
- bt(l, _t),
- bt(u, ue),
- bt(E, ue),
- bt(p, st),
- bt(v, J),
- Be(() => {
- Qe()
- }),
- {
- inputId: k,
- contentId: i,
- nsSelect: s,
- nsInput: a,
- states: o,
- isFocused: m,
- expanded: U,
- optionsArray: W,
- hoverOption: K,
- selectSize: ke,
- filteredOptionsCount: pe,
- updateTooltip: ue,
- updateTagTooltip: st,
- debouncedOnInputChange: zo,
- onInput: Wt,
- deletePrevTag: Gc,
- deleteTag: kc,
- deleteSelected: Wo,
- handleOptionSelect: Fo,
- scrollToOption: mi,
- hasModelValue: G,
- shouldShowPlaceholder: mn,
- currentPlaceholder: yn,
- mouseEnterEventName: wn,
- needStatusIcon: V,
- showClose: ne,
- iconComponent: re,
- iconReverse: Ie,
- validateState: ie,
- validateIcon: we,
- showNewOption: le,
- updateOptions: Ae,
- collapseTagSize: Ve,
- setSelected: Qe,
- selectDisabled: O,
- emptyText: Re,
- handleCompositionStart: R,
- handleCompositionUpdate: I,
- handleCompositionEnd: y,
- onOptionCreate: Bc,
- onOptionDestroy: Yc,
- handleMenuEnter: Tc,
- focus: yi,
- blur: Jc,
- handleClearClick: Cc,
- handleClickOutside: Oc,
- handleEsc: zc,
- toggleMenu: xo,
- selectOption: Wc,
- getValueKey: wi,
- navigateOptions: Vo,
- dropdownMenuVisible: vn,
- showTagList: Lc,
- collapseTagList: xc,
- popupScroll: Pc,
- tagStyle: Qc,
- collapseTagStyle: Xc,
- popperRef: Uc,
- inputRef: A,
- tooltipRef: d,
- tagTooltipRef: c,
- prefixRef: g,
- suffixRef: b,
- selectRef: r,
- wrapperRef: E,
- selectionRef: l,
- scrollbarRef: f,
- menuRef: u,
- tagMenuRef: p,
- collapseItemRef: v,
- }
- )
- }
- var sm = Q({
- name: 'ElOptions',
- setup(e, { slots: t }) {
- const n = de(ps)
- let i = []
- return () => {
- var s, a
- const o = (s = t.default) == null ? void 0 : s.call(t),
- r = []
- function l(d) {
- Ye(d) &&
- d.forEach((c) => {
- var A, g, b, u
- const p = (A = (c == null ? void 0 : c.type) || {}) == null ? void 0 : A.name
- p === 'ElOptionGroup'
- ? l(
- !tt(c.children) && !Ye(c.children) && Oe((g = c.children) == null ? void 0 : g.default)
- ? (b = c.children) == null
- ? void 0
- : b.default()
- : c.children
- )
- : p === 'ElOption'
- ? r.push((u = c.props) == null ? void 0 : u.value)
- : Ye(c.children) && l(c.children)
- })
- }
- return (
- o.length && l((a = o[0]) == null ? void 0 : a.children),
- jn(r, i) || ((i = r), n && (n.states.optionValues = r)),
- o
- )
- }
- },
- })
- const om = ye({
- name: String,
- id: String,
- modelValue: { type: [Array, String, Number, Boolean, Object], default: void 0 },
- autocomplete: { type: String, default: 'off' },
- automaticDropdown: Boolean,
- size: di,
- effect: { type: ee(String), default: 'light' },
- disabled: Boolean,
- clearable: Boolean,
- filterable: Boolean,
- allowCreate: Boolean,
- loading: Boolean,
- popperClass: { type: String, default: '' },
- popperOptions: { type: ee(Object), default: () => ({}) },
- remote: Boolean,
- loadingText: String,
- noMatchText: String,
- noDataText: String,
- remoteMethod: Function,
- filterMethod: Function,
- multiple: Boolean,
- multipleLimit: { type: Number, default: 0 },
- placeholder: { type: String },
- defaultFirstOption: Boolean,
- reserveKeyword: { type: Boolean, default: !0 },
- valueKey: { type: String, default: 'value' },
- collapseTags: Boolean,
- collapseTagsTooltip: Boolean,
- maxCollapseTags: { type: Number, default: 1 },
- teleported: ko.teleported,
- persistent: { type: Boolean, default: !0 },
- clearIcon: { type: An, default: vo },
- fitInputWidth: Boolean,
- suffixIcon: { type: An, default: Xg },
- tagType: { ...Xs.type, default: 'info' },
- tagEffect: { ...Xs.effect, default: 'light' },
- validateEvent: { type: Boolean, default: !0 },
- remoteShowSuffix: Boolean,
- showArrow: { type: Boolean, default: !0 },
- offset: { type: Number, default: 12 },
- placement: { type: ee(String), values: us, default: 'bottom-start' },
- fallbackPlacements: { type: ee(Array), default: ['bottom-start', 'top-start', 'right', 'left'] },
- tabindex: { type: [String, Number], default: 0 },
- appendTo: String,
- ...Du,
- ...hn(['ariaLabel']),
- }),
- ur = 'ElSelect',
- am = Q({
- name: ur,
- componentName: ur,
- components: {
- ElSelectMenu: nm,
- ElOption: Bo,
- ElOptions: sm,
- ElTag: iv,
- ElScrollbar: Lf,
- ElTooltip: ch,
- ElIcon: ot,
- },
- directives: { ClickOutside: sv },
- props: om,
- emits: [$e, al, 'remove-tag', 'clear', 'visible-change', 'focus', 'blur', 'popup-scroll'],
- setup(e, { emit: t }) {
- const n = M(() => {
- const { modelValue: l, multiple: d } = e,
- c = d ? [] : void 0
- return Ye(l) ? (d ? l : c) : d ? c : l
- }),
- i = lt({ ...Fn(e), modelValue: n }),
- s = im(i, t),
- { calculatorRef: a, inputStyle: o } = Kv()
- it(
- ps,
- lt({
- props: i,
- states: s.states,
- optionsArray: s.optionsArray,
- handleOptionSelect: s.handleOptionSelect,
- onOptionCreate: s.onOptionCreate,
- onOptionDestroy: s.onOptionDestroy,
- selectRef: s.selectRef,
- setSelected: s.setSelected,
- })
- )
- const r = M(() => (e.multiple ? s.states.selected.map((l) => l.currentLabel) : s.states.selectedLabel))
- return { ...s, modelValue: n, selectedLabel: r, calculatorRef: a, inputStyle: o }
- },
- })
- function rm(e, t, n, i, s, a) {
- const o = $t('el-tag'),
- r = $t('el-tooltip'),
- l = $t('el-icon'),
- d = $t('el-option'),
- c = $t('el-options'),
- A = $t('el-scrollbar'),
- g = $t('el-select-menu'),
- b = Zu('click-outside')
- return We(
- (Z(),
- T(
- 'div',
- {
- ref: 'selectRef',
- class: B([e.nsSelect.b(), e.nsSelect.m(e.selectSize)]),
- [Nu(e.mouseEnterEventName)]: (u) => (e.states.inputHovering = !0),
- onMouseleave: (u) => (e.states.inputHovering = !1),
- },
- [
- P(
- r,
- {
- ref: 'tooltipRef',
- visible: e.dropdownMenuVisible,
- placement: e.placement,
- teleported: e.teleported,
- 'popper-class': [e.nsSelect.e('popper'), e.popperClass],
- 'popper-options': e.popperOptions,
- 'fallback-placements': e.fallbackPlacements,
- effect: e.effect,
- pure: '',
- trigger: 'click',
- transition: `${e.nsSelect.namespace.value}-zoom-in-top`,
- 'stop-popper-mouse-event': !1,
- 'gpu-acceleration': !1,
- persistent: e.persistent,
- 'append-to': e.appendTo,
- 'show-arrow': e.showArrow,
- offset: e.offset,
- onBeforeShow: e.handleMenuEnter,
- onHide: (u) => (e.states.isBeforeHide = !1),
- },
- {
- default: x(() => {
- var u
- return [
- Y(
- 'div',
- {
- ref: 'wrapperRef',
- class: B([
- e.nsSelect.e('wrapper'),
- e.nsSelect.is('focused', e.isFocused),
- e.nsSelect.is('hovering', e.states.inputHovering),
- e.nsSelect.is('filterable', e.filterable),
- e.nsSelect.is('disabled', e.selectDisabled),
- ]),
- onClick: Ze(e.toggleMenu, ['prevent']),
- },
- [
- e.$slots.prefix
- ? (Z(),
- T(
- 'div',
- { key: 0, ref: 'prefixRef', class: B(e.nsSelect.e('prefix')) },
- [$(e.$slots, 'prefix')],
- 2
- ))
- : X('v-if', !0),
- Y(
- 'div',
- {
- ref: 'selectionRef',
- class: B([
- e.nsSelect.e('selection'),
- e.nsSelect.is('near', e.multiple && !e.$slots.prefix && !!e.states.selected.length),
- ]),
- },
- [
- e.multiple
- ? $(e.$slots, 'tag', { key: 0 }, () => [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- e.showTagList,
- (p) => (
- Z(),
- T(
- 'div',
- { key: e.getValueKey(p), class: B(e.nsSelect.e('selected-item')) },
- [
- P(
- o,
- {
- closable: !e.selectDisabled && !p.isDisabled,
- size: e.collapseTagSize,
- type: e.tagType,
- effect: e.tagEffect,
- 'disable-transitions': '',
- style: Ue(e.tagStyle),
- onClose: (v) => e.deleteTag(v, p),
- },
- {
- default: x(() => [
- Y(
- 'span',
- { class: B(e.nsSelect.e('tags-text')) },
- [
- $(
- e.$slots,
- 'label',
- { label: p.currentLabel, value: p.value },
- () => [Le(ce(p.currentLabel), 1)]
- ),
- ],
- 2
- ),
- ]),
- _: 2,
- },
- 1032,
- ['closable', 'size', 'type', 'effect', 'style', 'onClose']
- ),
- ],
- 2
- )
- )
- ),
- 128
- )),
- e.collapseTags && e.states.selected.length > e.maxCollapseTags
- ? (Z(),
- _(
- r,
- {
- key: 0,
- ref: 'tagTooltipRef',
- disabled: e.dropdownMenuVisible || !e.collapseTagsTooltip,
- 'fallback-placements': ['bottom', 'top', 'right', 'left'],
- effect: e.effect,
- placement: 'bottom',
- teleported: e.teleported,
- },
- {
- default: x(() => [
- Y(
- 'div',
- { ref: 'collapseItemRef', class: B(e.nsSelect.e('selected-item')) },
- [
- P(
- o,
- {
- closable: !1,
- size: e.collapseTagSize,
- type: e.tagType,
- effect: e.tagEffect,
- 'disable-transitions': '',
- style: Ue(e.collapseTagStyle),
- },
- {
- default: x(() => [
- Y(
- 'span',
- { class: B(e.nsSelect.e('tags-text')) },
- ' + ' + ce(e.states.selected.length - e.maxCollapseTags),
- 3
- ),
- ]),
- _: 1,
- },
- 8,
- ['size', 'type', 'effect', 'style']
- ),
- ],
- 2
- ),
- ]),
- content: x(() => [
- Y(
- 'div',
- { ref: 'tagMenuRef', class: B(e.nsSelect.e('selection')) },
- [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- e.collapseTagList,
- (p) => (
- Z(),
- T(
- 'div',
- { key: e.getValueKey(p), class: B(e.nsSelect.e('selected-item')) },
- [
- P(
- o,
- {
- class: 'in-tooltip',
- closable: !e.selectDisabled && !p.isDisabled,
- size: e.collapseTagSize,
- type: e.tagType,
- effect: e.tagEffect,
- 'disable-transitions': '',
- onClose: (v) => e.deleteTag(v, p),
- },
- {
- default: x(() => [
- Y(
- 'span',
- { class: B(e.nsSelect.e('tags-text')) },
- [
- $(
- e.$slots,
- 'label',
- { label: p.currentLabel, value: p.value },
- () => [Le(ce(p.currentLabel), 1)]
- ),
- ],
- 2
- ),
- ]),
- _: 2,
- },
- 1032,
- ['closable', 'size', 'type', 'effect', 'onClose']
- ),
- ],
- 2
- )
- )
- ),
- 128
- )),
- ],
- 2
- ),
- ]),
- _: 3,
- },
- 8,
- ['disabled', 'effect', 'teleported']
- ))
- : X('v-if', !0),
- ])
- : X('v-if', !0),
- Y(
- 'div',
- {
- class: B([
- e.nsSelect.e('selected-item'),
- e.nsSelect.e('input-wrapper'),
- e.nsSelect.is('hidden', !e.filterable),
- ]),
- },
- [
- We(
- Y(
- 'input',
- {
- id: e.inputId,
- ref: 'inputRef',
- 'onUpdate:modelValue': (p) => (e.states.inputValue = p),
- type: 'text',
- name: e.name,
- class: B([e.nsSelect.e('input'), e.nsSelect.is(e.selectSize)]),
- disabled: e.selectDisabled,
- autocomplete: e.autocomplete,
- style: Ue(e.inputStyle),
- tabindex: e.tabindex,
- role: 'combobox',
- readonly: !e.filterable,
- spellcheck: 'false',
- 'aria-activedescendant': ((u = e.hoverOption) == null ? void 0 : u.id) || '',
- 'aria-controls': e.contentId,
- 'aria-expanded': e.dropdownMenuVisible,
- 'aria-label': e.ariaLabel,
- 'aria-autocomplete': 'none',
- 'aria-haspopup': 'listbox',
- onKeydown: [
- _n(
- Ze((p) => e.navigateOptions('next'), ['stop', 'prevent']),
- ['down']
- ),
- _n(
- Ze((p) => e.navigateOptions('prev'), ['stop', 'prevent']),
- ['up']
- ),
- _n(Ze(e.handleEsc, ['stop', 'prevent']), ['esc']),
- _n(Ze(e.selectOption, ['stop', 'prevent']), ['enter']),
- _n(Ze(e.deletePrevTag, ['stop']), ['delete']),
- ],
- onCompositionstart: e.handleCompositionStart,
- onCompositionupdate: e.handleCompositionUpdate,
- onCompositionend: e.handleCompositionEnd,
- onInput: e.onInput,
- onClick: Ze(e.toggleMenu, ['stop']),
- },
- null,
- 46,
- [
- 'id',
- 'onUpdate:modelValue',
- 'name',
- 'disabled',
- 'autocomplete',
- 'tabindex',
- 'readonly',
- 'aria-activedescendant',
- 'aria-controls',
- 'aria-expanded',
- 'aria-label',
- 'onKeydown',
- 'onCompositionstart',
- 'onCompositionupdate',
- 'onCompositionend',
- 'onInput',
- 'onClick',
- ]
- ),
- [[Su, e.states.inputValue]]
- ),
- e.filterable
- ? (Z(),
- T(
- 'span',
- {
- key: 0,
- ref: 'calculatorRef',
- 'aria-hidden': 'true',
- class: B(e.nsSelect.e('input-calculator')),
- textContent: ce(e.states.inputValue),
- },
- null,
- 10,
- ['textContent']
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- e.shouldShowPlaceholder
- ? (Z(),
- T(
- 'div',
- {
- key: 1,
- class: B([
- e.nsSelect.e('selected-item'),
- e.nsSelect.e('placeholder'),
- e.nsSelect.is(
- 'transparent',
- !e.hasModelValue || (e.expanded && !e.states.inputValue)
- ),
- ]),
- },
- [
- e.hasModelValue
- ? $(
- e.$slots,
- 'label',
- { key: 0, label: e.currentPlaceholder, value: e.modelValue },
- () => [Y('span', null, ce(e.currentPlaceholder), 1)]
- )
- : (Z(), T('span', { key: 1 }, ce(e.currentPlaceholder), 1)),
- ],
- 2
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- Y(
- 'div',
- { ref: 'suffixRef', class: B(e.nsSelect.e('suffix')) },
- [
- e.iconComponent && !e.showClose
- ? (Z(),
- _(
- l,
- { key: 0, class: B([e.nsSelect.e('caret'), e.nsSelect.e('icon'), e.iconReverse]) },
- { default: x(() => [(Z(), _(Fe(e.iconComponent)))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- e.showClose && e.clearIcon
- ? (Z(),
- _(
- l,
- {
- key: 1,
- class: B([e.nsSelect.e('caret'), e.nsSelect.e('icon'), e.nsSelect.e('clear')]),
- onClick: e.handleClearClick,
- },
- { default: x(() => [(Z(), _(Fe(e.clearIcon)))]), _: 1 },
- 8,
- ['class', 'onClick']
- ))
- : X('v-if', !0),
- e.validateState && e.validateIcon && e.needStatusIcon
- ? (Z(),
- _(
- l,
- {
- key: 2,
- class: B([
- e.nsInput.e('icon'),
- e.nsInput.e('validateIcon'),
- e.nsInput.is('loading', e.validateState === 'validating'),
- ]),
- },
- { default: x(() => [(Z(), _(Fe(e.validateIcon)))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- ],
- 2
- ),
- ],
- 10,
- ['onClick']
- ),
- ]
- }),
- content: x(() => [
- P(
- g,
- { ref: 'menuRef' },
- {
- default: x(() => [
- e.$slots.header
- ? (Z(),
- T(
- 'div',
- { key: 0, class: B(e.nsSelect.be('dropdown', 'header')), onClick: Ze(() => {}, ['stop']) },
- [$(e.$slots, 'header')],
- 10,
- ['onClick']
- ))
- : X('v-if', !0),
- We(
- P(
- A,
- {
- id: e.contentId,
- ref: 'scrollbarRef',
- tag: 'ul',
- 'wrap-class': e.nsSelect.be('dropdown', 'wrap'),
- 'view-class': e.nsSelect.be('dropdown', 'list'),
- class: B([e.nsSelect.is('empty', e.filteredOptionsCount === 0)]),
- role: 'listbox',
- 'aria-label': e.ariaLabel,
- 'aria-orientation': 'vertical',
- onScroll: e.popupScroll,
- },
- {
- default: x(() => [
- e.showNewOption
- ? (Z(), _(d, { key: 0, value: e.states.inputValue, created: !0 }, null, 8, ['value']))
- : X('v-if', !0),
- P(c, null, { default: x(() => [$(e.$slots, 'default')]), _: 3 }),
- ]),
- _: 3,
- },
- 8,
- ['id', 'wrap-class', 'view-class', 'class', 'aria-label', 'onScroll']
- ),
- [[bn, e.states.options.size > 0 && !e.loading]]
- ),
- e.$slots.loading && e.loading
- ? (Z(),
- T(
- 'div',
- { key: 1, class: B(e.nsSelect.be('dropdown', 'loading')) },
- [$(e.$slots, 'loading')],
- 2
- ))
- : e.loading || e.filteredOptionsCount === 0
- ? (Z(),
- T(
- 'div',
- { key: 2, class: B(e.nsSelect.be('dropdown', 'empty')) },
- [$(e.$slots, 'empty', {}, () => [Y('span', null, ce(e.emptyText), 1)])],
- 2
- ))
- : X('v-if', !0),
- e.$slots.footer
- ? (Z(),
- T(
- 'div',
- { key: 3, class: B(e.nsSelect.be('dropdown', 'footer')), onClick: Ze(() => {}, ['stop']) },
- [$(e.$slots, 'footer')],
- 10,
- ['onClick']
- ))
- : X('v-if', !0),
- ]),
- _: 3,
- },
- 512
- ),
- ]),
- _: 3,
- },
- 8,
- [
- 'visible',
- 'placement',
- 'teleported',
- 'popper-class',
- 'popper-options',
- 'fallback-placements',
- 'effect',
- 'transition',
- 'persistent',
- 'append-to',
- 'show-arrow',
- 'offset',
- 'onBeforeShow',
- 'onHide',
- ]
- ),
- ],
- 16,
- ['onMouseleave']
- )),
- [[b, e.handleClickOutside, e.popperRef]]
- )
- }
- var lm = ge(am, [
- ['render', rm],
- ['__file', 'select.vue'],
- ])
- const cm = Q({
- name: 'ElOptionGroup',
- componentName: 'ElOptionGroup',
- props: { label: String, disabled: Boolean },
- setup(e) {
- const t = he('select'),
- n = C(null),
- i = Nt(),
- s = C([])
- it(Kl, lt({ ...Fn(e) }))
- const a = M(() => s.value.some((d) => d.visible === !0)),
- o = (d) => {
- var c, A
- return ((c = d.type) == null ? void 0 : c.name) === 'ElOption' && !!((A = d.component) != null && A.proxy)
- },
- r = (d) => {
- const c = ft(d),
- A = []
- return (
- c.forEach((g) => {
- var b, u
- o(g)
- ? A.push(g.component.proxy)
- : (b = g.children) != null && b.length
- ? A.push(...r(g.children))
- : (u = g.component) != null && u.subTree && A.push(...r(g.component.subTree))
- }),
- A
- )
- },
- l = () => {
- s.value = r(i.subTree)
- }
- return (
- Be(() => {
- l()
- }),
- Yg(n, l, { attributes: !0, subtree: !0, childList: !0 }),
- { groupRef: n, visible: a, ns: t }
- )
- },
- })
- function um(e, t, n, i, s, a) {
- return We(
- (Z(),
- T(
- 'ul',
- { ref: 'groupRef', class: B(e.ns.be('group', 'wrap')) },
- [
- Y('li', { class: B(e.ns.be('group', 'title')) }, ce(e.label), 3),
- Y('li', null, [Y('ul', { class: B(e.ns.b('group')) }, [$(e.$slots, 'default')], 2)]),
- ],
- 2
- )),
- [[bn, e.visible]]
- )
- }
- var ql = ge(cm, [
- ['render', um],
- ['__file', 'option-group.vue'],
- ])
- const _l = dt(lm, { Option: Bo, OptionGroup: ql }),
- $l = Wn(Bo)
- Wn(ql)
- const ec = ['success', 'info', 'warning', 'error'],
- Je = cl({
- customClass: '',
- center: !1,
- dangerouslyUseHTMLString: !1,
- duration: 3e3,
- icon: void 0,
- id: '',
- message: '',
- onClose: void 0,
- showClose: !1,
- type: 'info',
- plain: !1,
- offset: 16,
- zIndex: 0,
- grouping: !1,
- repeatNum: 1,
- appendTo: ze ? document.body : void 0,
- }),
- dm = ye({
- customClass: { type: String, default: Je.customClass },
- center: { type: Boolean, default: Je.center },
- dangerouslyUseHTMLString: { type: Boolean, default: Je.dangerouslyUseHTMLString },
- duration: { type: Number, default: Je.duration },
- icon: { type: An, default: Je.icon },
- id: { type: String, default: Je.id },
- message: { type: ee([String, Object, Function]), default: Je.message },
- onClose: { type: ee(Function), default: Je.onClose },
- showClose: { type: Boolean, default: Je.showClose },
- type: { type: String, values: ec, default: Je.type },
- plain: { type: Boolean, default: Je.plain },
- offset: { type: Number, default: Je.offset },
- zIndex: { type: Number, default: Je.zIndex },
- grouping: { type: Boolean, default: Je.grouping },
- repeatNum: { type: Number, default: Je.repeatNum },
- }),
- pm = { destroy: () => !0 },
- mt = ju([]),
- Am = (e) => {
- const t = mt.findIndex((s) => s.id === e),
- n = mt[t]
- let i
- return t > 0 && (i = mt[t - 1]), { current: n, prev: i }
- },
- gm = (e) => {
- const { prev: t } = Am(e)
- return t ? t.vm.exposed.bottom.value : 0
- },
- fm = (e, t) => (mt.findIndex((i) => i.id === e) > 0 ? 16 : t),
- bm = Q({ name: 'ElMessage' }),
- hm = Q({
- ...bm,
- props: dm,
- emits: pm,
- setup(e, { expose: t }) {
- const n = e,
- { Close: i } = pf,
- { ns: s, zIndex: a } = Gu('message'),
- { currentZIndex: o, nextZIndex: r } = a,
- l = C(),
- d = C(!1),
- c = C(0)
- let A
- const g = M(() => (n.type ? (n.type === 'error' ? 'danger' : n.type) : 'info')),
- b = M(() => {
- const m = n.type
- return { [s.bm('icon', m)]: m && ja[m] }
- }),
- u = M(() => n.icon || ja[n.type] || ''),
- p = M(() => gm(n.id)),
- v = M(() => fm(n.id, n.offset) + p.value),
- f = M(() => c.value + v.value),
- w = M(() => ({ top: `${v.value}px`, zIndex: o.value }))
- function R() {
- n.duration !== 0 &&
- ({ stop: A } = ku(() => {
- y()
- }, n.duration))
- }
- function I() {
- A == null || A()
- }
- function y() {
- d.value = !1
- }
- function E({ code: m }) {
- m === on.esc && y()
- }
- return (
- Be(() => {
- R(), r(), (d.value = !0)
- }),
- q(
- () => n.repeatNum,
- () => {
- I(), R()
- }
- ),
- Dt(document, 'keydown', E),
- bt(l, () => {
- c.value = l.value.getBoundingClientRect().height
- }),
- t({ visible: d, bottom: f, close: y }),
- (m, j) => (
- Z(),
- _(
- at,
- { name: h(s).b('fade'), onBeforeLeave: m.onClose, onAfterLeave: (U) => m.$emit('destroy'), persisted: '' },
- {
- default: x(() => [
- We(
- Y(
- 'div',
- {
- id: m.id,
- ref_key: 'messageRef',
- ref: l,
- class: B([
- h(s).b(),
- { [h(s).m(m.type)]: m.type },
- h(s).is('center', m.center),
- h(s).is('closable', m.showClose),
- h(s).is('plain', m.plain),
- m.customClass,
- ]),
- style: Ue(h(w)),
- role: 'alert',
- onMouseenter: I,
- onMouseleave: R,
- },
- [
- m.repeatNum > 1
- ? (Z(),
- _(h(gh), { key: 0, value: m.repeatNum, type: h(g), class: B(h(s).e('badge')) }, null, 8, [
- 'value',
- 'type',
- 'class',
- ]))
- : X('v-if', !0),
- h(u)
- ? (Z(),
- _(
- h(ot),
- { key: 1, class: B([h(s).e('icon'), h(b)]) },
- { default: x(() => [(Z(), _(Fe(h(u))))]), _: 1 },
- 8,
- ['class']
- ))
- : X('v-if', !0),
- $(m.$slots, 'default', {}, () => [
- m.dangerouslyUseHTMLString
- ? (Z(),
- T(
- je,
- { key: 1 },
- [
- X(
- " Caution here, message could've been compromised, never use user's input as message "
- ),
- Y('p', { class: B(h(s).e('content')), innerHTML: m.message }, null, 10, ['innerHTML']),
- ],
- 2112
- ))
- : (Z(), T('p', { key: 0, class: B(h(s).e('content')) }, ce(m.message), 3)),
- ]),
- m.showClose
- ? (Z(),
- _(
- h(ot),
- { key: 2, class: B(h(s).e('closeBtn')), onClick: Ze(y, ['stop']) },
- { default: x(() => [P(h(i))]), _: 1 },
- 8,
- ['class', 'onClick']
- ))
- : X('v-if', !0),
- ],
- 46,
- ['id']
- ),
- [[bn, d.value]]
- ),
- ]),
- _: 3,
- },
- 8,
- ['name', 'onBeforeLeave', 'onAfterLeave']
- )
- )
- )
- },
- })
- var vm = ge(hm, [['__file', 'message.vue']])
- let mm = 1
- const tc = (e) => {
- const t = !e || tt(e) || Cr(e) || Oe(e) ? { message: e } : e,
- n = { ...Je, ...t }
- if (!n.appendTo) n.appendTo = document.body
- else if (tt(n.appendTo)) {
- let i = document.querySelector(n.appendTo)
- Yt(i) || (i = document.body), (n.appendTo = i)
- }
- return (
- Tt(Et.grouping) && !n.grouping && (n.grouping = Et.grouping),
- Ne(Et.duration) && n.duration === 3e3 && (n.duration = Et.duration),
- Ne(Et.offset) && n.offset === 16 && (n.offset = Et.offset),
- Tt(Et.showClose) && !n.showClose && (n.showClose = Et.showClose),
- n
- )
- },
- ym = (e) => {
- const t = mt.indexOf(e)
- if (t === -1) return
- mt.splice(t, 1)
- const { handler: n } = e
- n.close()
- },
- wm = ({ appendTo: e, ...t }, n) => {
- const i = `message_${mm++}`,
- s = t.onClose,
- a = document.createElement('div'),
- o = {
- ...t,
- id: i,
- onClose: () => {
- s == null || s(), ym(c)
- },
- onDestroy: () => {
- Po(null, a)
- },
- },
- r = P(vm, o, Oe(o.message) || Cr(o.message) ? { default: Oe(o.message) ? o.message : () => o.message } : null)
- ;(r.appContext = n || On._context), Po(r, a), e.appendChild(a.firstElementChild)
- const l = r.component,
- c = {
- id: i,
- vnode: r,
- vm: l,
- handler: {
- close: () => {
- l.exposed.visible.value = !1
- },
- },
- props: r.component.props,
- }
- return c
- },
- On = (e = {}, t) => {
- if (!ze) return { close: () => {} }
- const n = tc(e)
- if (n.grouping && mt.length) {
- const s = mt.find(({ vnode: a }) => {
- var o
- return ((o = a.props) == null ? void 0 : o.message) === n.message
- })
- if (s) return (s.props.repeatNum += 1), (s.props.type = n.type), s.handler
- }
- if (Ne(Et.max) && mt.length >= Et.max) return { close: () => {} }
- const i = wm(n, t)
- return mt.push(i), i.handler
- }
- ec.forEach((e) => {
- On[e] = (t = {}, n) => {
- const i = tc(t)
- return On({ ...i, type: e }, n)
- }
- })
- function Rm(e) {
- for (const t of mt) (!e || e === t.props.type) && t.handler.close()
- }
- On.closeAll = Rm
- On._context = null
- const Im = Bu(On, '$message')
- function Em(e) {
- Yu.emit('callUE', e)
- }
- function Mm({ RealTime: e = !1, UpdateTime: t = '2025-02-21 8:00:00', WeatherType: n }) {
- Em({ ModuleName: 'Weather', ActionName: 'Update', Params: { RealTime: e, UpdateTime: t, WeatherType: n } })
- }
- const nc = co('panel', {
- state: () => ({ sjwg: {}, fcky: {}, sgzy: {}, kypm: {}, weather: 'Clear Skies' }),
- getters: {},
- actions: {
- setSjwg(e) {
- this.sjwg = e
- },
- setFcky(e) {
- this.fcky = e
- },
- setSgzy(e) {
- this.sgzy = e
- },
- setKypm(e) {
- this.kypm = e
- },
- setWeather(e) {
- ;(this.weather = e), Mm({ WeatherType: e })
- },
- },
- }),
- Dm = '/low_altitude_interface/assets/alert-dl-h-BvrYMMjx.png',
- Zm = '/low_altitude_interface/assets/alert-dl-BZTlgzoZ.png',
- Sm = '/low_altitude_interface/assets/alert-ky-h-CFjAOj8V.png',
- Nm = '/low_altitude_interface/assets/alert-ky-CqDOU9i3.png',
- jm = '/low_altitude_interface/assets/alert-ph-h-DXrewdxZ.png',
- Gm = '/low_altitude_interface/assets/alert-ph-C42Ik3er.png',
- km = '/low_altitude_interface/assets/alert-pz-h-8KR8KYCm.png',
- Bm = '/low_altitude_interface/assets/alert-pz-B4piqmd5.png',
- Ym = '/low_altitude_interface/assets/alert-tq-h-BGS-OrD_.png',
- Um = '/low_altitude_interface/assets/alert-tq-cyO9batw.png',
- Tm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRDQxMzgxNkYyNzgxMUVGOTZDQ0RCMkZCMUNDQTM4RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRDQxMzgxN0YyNzgxMUVGOTZDQ0RCMkZCMUNDQTM4RSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZENDEzODE0RjI3ODExRUY5NkNDREIyRkIxQ0NBMzhFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZENDEzODE1RjI3ODExRUY5NkNDREIyRkIxQ0NBMzhFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+beTDTgAABSJJREFUeNqsWFtsVEUY/mb27LalN0u5WAERrPVSL1UUg4m38oDxrcFoUArR6Eu1YggRExLeDGKl2lc1pqax8RIhwQdjIqLhwRhCQANNTKzWErQpBell293u7oz/nD2zzM7OObsSTzK7c87cvvP9///NP4e17JBwXMz6R8h92CVD7mXYAC9icR7U7RIGSlr1qFICynOA4MY/t+5ZBazoxYTxL6x7GcwjwxgxF48FRdeZ0accEL1YLqjnjDqMdicjNoBY0O4ZgJjFnnTUTUY0gGzQJ2esLWxGmPW2GkDcKDGDFW6AkZZpo0DYpmPmC9iMmCASVKqDumeZijuAhIFYjHBiuBgxgfggtj2Cx25ZhX3xGNbhGq5sDmO/T+Dg0HF8YzkuK8dIESt3rkU/Z2jANV4ex023r8Z7DUvQMTOPjBWFCHNWZjtqwsuDGDyGp6dmsCglYtKYiF11Phb8CvWMMeSWNyCxoxOH6WlVSxOWEJD5CE0qYcQ0UcyL5RvPjWPaYIoblGrP55Z/ZCf+wZwenxMlYulkhDkih5tAVjWj4cIlpFX/5Y2oI2YYvbUtTj5Dk9OYVc/XLEO9Hh/jbnNESXyRrOuJLs3k7dv3PN6uq0Fr1ITzaYztHcTLl2eR4dw3h2JElPWnkOdFQITMv3UijoR+FnZVxVFFDo5kGpm3vkAX9V84P4WFSoE4aYsHi668DgmaLLXrfewyhA3VpDCNtX6o+7qSyiA9nfQXVfohaMyceuyS9EoZ8QVHA1FREEyu/cJ3TlpYpK74vhMzZFs0U8SQOdNlUoiiyPGiNi9thovTvq3lh70YqK9Bm+5A9I+9MIBX1YQ7O7HhwVvxxNJ63EuzsytJnBw5jyMDR3HMUmTuSCdkFBDEg1aZ9xFUJ5CIGyOqRD6c92/D1o51eM4cS9G18VEq66/HEJn0kLV5lgCKBhIwckMzqkmqF7YfQg+Fcq2ehEJ6vvtx3PVAax4E6c2Xn3yPrwl4trsTm+9Yg+71K9G9pws/vnMEx639ymkapyMVokZcTWpo8aS56T15P55V/UbGcfiNj/GpFjUK4c/f7MbsfTej56Hb8Bo9O+HYOAv7DY/IsHxnVYWc1dxRVVG6klnRiBhJebvqs38Yw1byg31D+Eq10V7TtnoZakJAlJhGWlu58IJWzpxpnmIsp/vkcj4IOx9lut3jzhy4EE3cAaBQ14yMTvjmKAH612UsLKRxTvXpfxFbrfE4sBNbVFtqEWfHJv28JDQB9xx5ps4ZctpHNt+DpvGLSKs9Rhp2Hf0byR/OYrBrE/o2tGL7uy9hbvBbnFBKTOG86eF29Krxp37DkCsZKhIVOtdwKzWsCkrNyX6cov2i1jWQFss8dQBb/pxE+rO96GltKQ5f86IU4Myej9BDgKboVilvOiiLgb8JbjEijBQv89Ov2E0Rc4HsC7vEOWRTnd8v9cxBDHz3M16fT+E0tQnVTvVfTo+iL72IkaV16PjgFRzV0m+bUDPCrKw9buSsihlvYxvqySxcKNMEKQA5sDzzB5KZbCEf8cvaFaimbZ+R7vgS334jEkO7MUxmbry7Fx0BC5qJrAangdhpognIC5FmaYRq1CFMaIYdALKBBXyJl44M3FwsF7KAtLL4sDRQWGCyhokK4e453s4+n7gEyHV+dQGRBhjziCFcBywX1TaQsDOvjNraHXMLx1lY2jpiJsR2nVXwCaKSLwUi7JDlhXzDYP/xewgq/I4iw76ZeGUGSPw/Fys3378CDAB0DhbF4i5xlQAAAABJRU5ErkJggg==',
- Jm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3RTg4QThBQkZFMUYxMUVGODVBMURCQUFDNDI1OTMxMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3RTg4QThBQ0ZFMUYxMUVGODVBMURCQUFDNDI1OTMxMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdFODhBOEE5RkUxRjExRUY4NUExREJBQUM0MjU5MzEwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdFODhBOEFBRkUxRjExRUY4NUExREJBQUM0MjU5MzEwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+heW3eAAABSBJREFUeNrsWE2IHEUU/qqnu2c2G9Flyc+aVWGJCRhUIognhWgkEcEfcvIgsjmoCIp6EcRVEERRcxLB4IKoCQSEeFAxeBTJIRcvwaiIEEyWmJgNUbPZme6u8lV31fi2tmqmZ8bDHmx4dFV3VdfX3/utEkoprOUrwhq/1jzA2Dauf2KgecK597tUoN3zWviYARwClGAaEB6wioGRHmBqIAZrArOg3HbkjHWBSQbYtoXzEwMBdEFZEBZQg/UbzjjOnpbCgHLFBe5lNQ6AE8yJOKBGQIRHzRZAERDpjPOqPg4wB8ZQZMY1zN3XjgIMWoA5u+esDwZOMgyqDoOCsWbBJExiJpGHQckAZgZUxn4oM+NyZpN9GYTjoRxgaqRpQe6/H4/etBEvRALrA7El//0S5t//Ch8aQB0jPltVdW0QHvYSA4xLfPMU5vICi2f+wDxjsVyYMqicmsC905N4mvqHmDkIx/akmStd9YZskEsJ8PmH8HAzwXYpkVzN0O7kUONNTMf0NiOAFy5jQYjut8pFaGy+8VpcpDEzL+3DK4t/44eExq9rotWIkBcSp9/9HIeZw4i6NrhKxVsm8SwtdIs7SCp0rhnD1rt34NVQHNNjNk9grxb+nACepdsRQ0IeykqxJ7q7NIt3jmLfDRuw6coy0tndOEAs3HrwGGb/WkIuIsRi5cftfEFqVgSwIMbki4/gU2L+3Pw3mB1L0V5YxPkAqL5OsspQz19GRnKJmmMkV7VqT57GRebBcDyRh6zSk2mOItY6p37Dn9RfMs4SSo19qxl3cNc+khiJBjjeQkqqX7/nDmy3JrFzBlN3bcO07d93O7Zu24JJrUY9hyQKxNyhy61V7h/TDG3spG75+C48+Ng9eGPHjdigv/XkXrz81AN4WwNKY8T0/s39u6HrpMgAFIHCIlg8RD0AKV+e1OC06EVaCVq6fd041ukHzRhNEh2SBIFp6HcENDXzlJmHPmuougwq38caFRNVrKMoY0JNUbIisEzhpm1eKjOutLWSwagnCapuNeP7o24VQoyopJol9aK6TV5ajktMv6RXVG3TL+eQRyunmhk6k4QmV6CMqqzahOj2u+wyc+iCl3LVTw9dDwaLV60mA0JQDta2BhMHG0yNsXWMKKo8Wj8vhtgBxTW8eMWdOQksm0JUnkmqFswRKgajf+c5DGJYGww5SWk7MdlgXM0qWimxRu1WavpNJJSztRdLYjfS79K0XEPPQ6G824CRGVzhJEncDRc5qa+j20ttXNHlVFqFFf22oz1bv6Owo+dn1BbGSXhFrfrZYTwAuLIiTk0m0SAOfo2ju27DyeOnysSPD47hdYqNms9Om6q/I99i7sezWNB97cWqqidzD0D8FwDLUp0W6liA3/+KCySLNjt89h1+Nu3S2t77Eifsj+ksQjZYOCV/0U/VcR/74+D02OynMzhM+fbOEwdwiCqS4xSQIxJhSqvyTvbXXZAcSG6awE7txb9cwCes/K+lZmEPj5yTBcE2S7aituV+64s5PDOzGc8NcnRCVfdHe17DW9RcJmmbDJMZsWwq92ShF0DBtpV8w2T3JqFtp3CDO9vRZQZcxpjMnexS6+iDF652AXcv0XA286LHyUIR2HbKUeOgZEafezY6/Y4+lHOawIHKOp5cJ9X5Erv0MCd6/KQPaK1gXSeT+LKKCKhW9CrV+lQyI+ViOPtW4WwVETh+q10Ij6JiH5Oix5lOrzJ+4IPMQcqtoU5JR73E/6f8I17/CDAA8BVFtpqXAbsAAAAASUVORK5CYII=',
- Cm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNDA2NzUwQ0YyNzgxMUVGOTBGNEQ2MzcyMjVEQUZBMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNDA2NzUwREYyNzgxMUVGOTBGNEQ2MzcyMjVEQUZBMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjM0MDY3NTBBRjI3ODExRUY5MEY0RDYzNzIyNURBRkEzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjM0MDY3NTBCRjI3ODExRUY5MEY0RDYzNzIyNURBRkEzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jSwKAQAAAGFJREFUeNpi+P//vxcQzwJiBhx4BhBHgBhX/kNALxZFzVC5lyCOGRD/gwoUIilK/I8AzjBBMyRBFyC2RuJ7gNQgW+P2HxMEweTR3ZSApKgYWY4RrBoVzANiHiAOQxYECDAA1iHPjsP3lu0AAAAASUVORK5CYII=',
- Om =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCNEM1RTNGOEYyNzgxMUVGOTVCRTkwRDlEQ0FBQTRCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCNEM1RTNGOUYyNzgxMUVGOTVCRTkwRDlEQ0FBQTRCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI0QzVFM0Y2RjI3ODExRUY5NUJFOTBEOURDQUFBNEJCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI0QzVFM0Y3RjI3ODExRUY5NUJFOTBEOURDQUFBNEJCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+btGhQgAAAO5JREFUeNpi+P//PwMenA/E/4DYEV0On6bq/xBwCUp7EaNxMlRxOJQ/G8p3xadxBVRRAJp4O1TcBZvGA1BJCzRxDiA+CcRvgdgEXeMFqCYNNE0GUPG7QMyN7FSQaU+hkuJomoKh4ruxheptqBN40CRroJq6sAUgA46AWAYVT8AVXSwMECABpYWBeB8Q6wGxAxAfBGIzIJYB4l9Q/AeIP4J0/4Ga/g1KvwdiKSTTN/7HBI8YgYQ60ARRqK0/gHgLAxGAEexRiBOZoFgWiAWR+N+B+CdILRL+wQL1w34gZgPiv1AD/yMZjs4GabwOEGAAA3fkRNhlaaMAAAAASUVORK5CYII=',
- zm = '/low_altitude_interface/assets/btn-main-BhN8Qa_S.png',
- Wm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFRUY0Njc2REYyNzgxMUVGQjlGMUZDQUI4NTUyNDZEOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFRUY0Njc2RUYyNzgxMUVGQjlGMUZDQUI4NTUyNDZEOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkVFRjQ2NzZCRjI3ODExRUZCOUYxRkNBQjg1NTI0NkQ5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkVFRjQ2NzZDRjI3ODExRUZCOUYxRkNBQjg1NTI0NkQ5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VxzamQAABRdJREFUeNq0WGtoHUUU/mbv3t37aJ634SbRpg+laooU9Yc/BP0h/hCJYgQrQk0K/dXiI5BSUtQfYmNDkSoKSaFKRQIWiw8iIijqD+sLRatQq7RpU2PSJk3amNd97npmnSmTydy9t7EunLt7z+zMfHO+M+ecWbvpCR8VXAz/7So7iV3BxKwCMH6FC/FL9bFDOsm7JZ5ZCBi/DBjfAIKpOtsAQoqlPUdKWMYvA8ZXxNP+X+lvG0BYikSEWModIUBMZvcUKWr/lwFhhtVHRLsqlmaRMGuoVigKKSh3iOeAIp0a1RJRIY5yV+nxDROaAMqJ8wan9UzUyAmkJfjkLpe4g3h3O45Qo7v/PWxdzAWD49ktOGwxOC+8g0c1IIhFwXY9grd5O/VpW8hiUQPiqdYNo0ZawaWJ3YSDW/iL9Bzj793YhNqki5u5bvM6rD9+FudVejJ5+NSnlT8TiKiyepUqZqJGBSJ9ItrSgLqaBBpsQcp1KaSTMTid9+Ll6Vl8SiMXHrsbBxMx7B4+jwk5cH0V4rLPbRuw5qdhnNN8ZYm/MYqsTKGEI48JSfR1Ysix/121fk3O4Nved3GAr5Ao6k5V4c6wiJYrYHj3YTzADcQNS5IVkjc5qwrKjkYQk6vSL88PTJzgK2QMVqn3FO91tXCgBk5ftwj3ibiYIEmyqrke6Wqi5ukH8Sbv9fwgumqTiD3Zhj1jU/iZQKA5hTsGv8DeU+O4IHESNU7XQxjgf/o/xpZfzgbUzJHMC4ssKhbx7DL5gY1NI0MyI1dMlGS5vP4R+na140Wue20Ie2iiMTVyXvwbi7IPtU2VS6BWKQBqp3QtEkQTuNBKuf/gj78wLXU00UVTPpLtlVxWJSXAhctYlIPSTskYJloGYkMjqmX77TcgdbVlANPjyvUpJGqSSEkzU/youTSHbN0quIqufmae+GfB1vTXNiD5VBt6iNLPKaBlux/GIaLy8a9PBj5izPLSWWUQc4WzBo462I2jFFU3rqQSGr+EH3f2o4/Htre60FsVx6b2XmwW23dBc9ZimLPyMJ2olGODo+WkVeknQ+OEVnm6RRxl63KpWtOAxrok0hTc+nmHZw6hh/wkS07rvrIdL6k6xqMm0bOxGVW0o3rOTeIb0mXXpXHfwU/QOfQ9TortW5FFlhQtf05igWRaWub3UcyIbZzRdDLTehOXMZ/J4bl9HXiVt+87io7PjmN0JTWrnso92/CmpltSff1wClOynUCMaZXZsjrGLlNjeuvTiBENtXL1rS2ooWCVXV0NV+o2taB6ajYwucc4IKKnsRZJ2X5XK+qPnQh2jF+iojP6SEz4SeLLXnwQd3ETrsFFVA3f04M2xT8yphCvVlmyXii4UTh2BNfkoizuKmWAp1Zn0iJqiWjLqkxYJn7rWjQ01WP1/m14n7+4ox/bRqeQoWSYGNiBN7hu5wA6KAHOBgMzyqQsCGqxA9txRCTK+z/8Lkh6qiVyQgp6GeBrNWYQB34dwSTJ3N6tGLYsuMd+wxmuH5kAy+ZxJkK6r04EuiXOenocXqGI09THIRAjyuQFpYi+4i/SIsxQr8pS0REWckSbnldM5xWd5ryQnLjLYlpStawwUmtKpmxLOVikBBBfO6foYAqaFHUfCQOin0tUIDAA8UucdTzNSYva+EuA6Ccz3Wcs7Qgadgg3AfI00emEXWKwonLuYErdEgbEr+AA7peIsEZq9JM603xmxd9ArvazBMp9Qvg/PtT8I8AASnUf5diQqE4AAAAASUVORK5CYII=',
- Fm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAArCAYAAABhLkbTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2REU0QUYzMUYyNzkxMUVGQTVGQUVFMEE0NjYyOUE1QyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2REU0QUYzMkYyNzkxMUVGQTVGQUVFMEE0NjYyOUE1QyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZERTRBRjJGRjI3OTExRUZBNUZBRUUwQTQ2NjI5QTVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZERTRBRjMwRjI3OTExRUZBNUZBRUUwQTQ2NjI5QTVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+mRmuzQAAAtVJREFUeNrsnDtvE0EUhXdm9uG111YcxwSE0wCCioICGkKDKOj5EbT8CXo6/gYSHQUddZCQIISAiJBsOcQPMH57d7hD7sASucuStcQ58tE6493mfjlzx/aOxZUHz50lEmxJVilLHodOL01OyDF5wUfzt3aXnGxB+PVaudrYrGz7nryqpKgL4fioZXYSblhRwVqj1e4+3Nv78JmGZgbQSSgGhkcOr187fycqevekEAHK9291cHDwmg63yO9MYtwTCTFJiAjI/UrJ30a5zlQlDsRMpnqIGShd2qrdJCC3UaMzV0g2IREyNW2FNFXVNqrhXTTzXOTzbPV7NWVSEjUuVG94riyjPrlIpaHYXlIphd5l1CZ/WShmhVWmZe8aSrJaUCIhsfxdJSimpwRaL30zCeUARdg3jVpj1bVKUISDz7VWCgq0wlCQEiQFAhRAgQAFUCBAARQIUCBAARQIUAAFAhRAgQDlf5Y4/n5RAsrKECEYQrrmmCSJ5aABJVcmSjnSDZLECebzhblHYsxQNKDkhMSRXiCUH3W7fXOv3Zx8hKTkCIRmLV+qQkVIv9xsteo0+JbBxICSExDhFdeEG64fdfr1Xq8f0QvPyBPneEcXbr47GxZScQ8p0KMsVFgdjmYbu7vvtzglL8gjhuL8BYUuKEqvgC10WfcPoVxKSEFIr0S9pNQ+7Jzb3/94MY7jLp3wmNzlRh+noZgNkDOCuC6DqIZCZiutHTWeTMNer1Ntt79WB4NBkYZ3yU/Ie+Q+T1+JhZJwkxnt7Lx5ScdH5C2UMns2nIYv5FdkU+tP5Db5BzPQaShT8jdyk/yUvEk2DUihlqeW/acfciIOuc5Nft7n+if2ApfnsRGvkyWfVCEXsDrLJB2aG/gkBcZ6yOOxTcnJpPSZaM853q/ya1Mk6ppJUmxapjyFjfn5gl/T6QtcHpjbZk/+7vzZtwJll5b0r0sky2BY/RRgAPdhujr4TJA6AAAAAElFTkSuQmCC',
- Lm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QkVDRkI2QkZFMUYxMUVGOUQ4MkQ5NzRERjJFQUNFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QkVDRkI2Q0ZFMUYxMUVGOUQ4MkQ5NzRERjJFQUNFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVCRUNGQjY5RkUxRjExRUY5RDgyRDk3NERGMkVBQ0VDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVCRUNGQjZBRkUxRjExRUY5RDgyRDk3NERGMkVBQ0VDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8++Qt7aAAAAQhJREFUeNpi/P//PwMtAeOoBQNuARMOcW4kthgQvwHiAmr64BMQLwLifiC+A8SfgdgUiBWBuA6kD039YyAOI8UHTUCcDTX8ARALAvFNIOYEYiEoHxnz4/QCyAc4cCYQb8MjTxQmNpKtgPgbEF+gViRnQ70OAplAfBRqCQgIYAkiTlKD6A8QvwXiuv8Q0AUVj/mPHTwhNYhEgfg5EDMDcQ0Qt0LFlYDYGUsqAiXjdaRmNFD6Nwbi7RTlNCJTwzIgjqNmKjoDzWRLgfgsEBsBsTsQPwHiaCxB9AKIJ5Hig+3QyHsNpfWh4pE4Ivk2Lh/g895iIP4GxKpY5BjRMMUZbbTCGbUANwAIMAD0z8lbj1vA2AAAAABJRU5ErkJggg==',
- xm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAAjCAYAAAA+NeykAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NzI5RTBDRDAwODAxMUYwQjdCRTk3OTNBOEFBNTA4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NzI5RTBDRTAwODAxMUYwQjdCRTk3OTNBOEFBNTA4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc3MjlFMENCMDA4MDExRjBCN0JFOTc5M0E4QUE1MDg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc3MjlFMENDMDA4MDExRjBCN0JFOTc5M0E4QUE1MDg4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+TvdLDwAAB/JJREFUeNrUmt1uG0UU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',
- Vm =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAAjCAYAAAA+NeykAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1N0QyQjlFOTAwODAxMUYwOURDNkVBMDdCMjExMjZDNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1N0QyQjlFQTAwODAxMUYwOURDNkVBMDdCMjExMjZDNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU3RDJCOUU3MDA4MDExRjA5REM2RUEwN0IyMTEyNkM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3RDJCOUU4MDA4MDExRjA5REM2RUEwN0IyMTEyNkM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aI/hEQAACPNJREFUeNrUmttuJEkR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',
- Qm = '/low_altitude_interface/assets/tool-dtqh-h-ChMQvbbm.png',
- Xm = '/low_altitude_interface/assets/tool-dtqh-k0d8YJPn.png',
- Pm = '/low_altitude_interface/assets/tool-fcky-h-g2pPx-nX.png',
- Hm = '/low_altitude_interface/assets/tool-fcky-DoR3VSKp.png',
- Km = '/low_altitude_interface/assets/tool-hxhs-h-D0SoT_bl.png',
- qm = '/low_altitude_interface/assets/tool-hxhs-BTLFAKSM.png',
- _m = '/low_altitude_interface/assets/tool-kyhs-h-COekEC6l.png',
- $m = '/low_altitude_interface/assets/tool-kyhs-DTj2leqD.png',
- ey = '/low_altitude_interface/assets/tool-kysg-h-DuVHg_gi.png',
- ty = '/low_altitude_interface/assets/tool-kysg-C223R-4D.png',
- ny = '/low_altitude_interface/assets/tool-kytc-h-Dq9LwJ2G.png',
- iy = '/low_altitude_interface/assets/tool-kytc-CdEh1eO-.png',
- sy = '/low_altitude_interface/assets/tool-qjchs-h-CEfchBME.png',
- oy = '/low_altitude_interface/assets/tool-qjchs-D0-7IAV_.png',
- ay = '/low_altitude_interface/assets/tool-qjll-h-NqfESu16.png',
- ry = '/low_altitude_interface/assets/tool-qjll-D9b7AnW2.png',
- ly = '/low_altitude_interface/assets/tool-sgzy-h-t_jjxgVM.png',
- cy = '/low_altitude_interface/assets/tool-sgzy-BjwAxV2S.png',
- uy = '/low_altitude_interface/assets/tool-tsjs-h-CO9Cq-mF.png',
- dy = '/low_altitude_interface/assets/tool-tsjs-hA57rgjS.png',
- py =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRTI3OUFBQ0YyQTExMUVGQjQ4Nzg0QkFBQjNBNTM1OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRTI3OUFBREYyQTExMUVGQjQ4Nzg0QkFBQjNBNTM1OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNFMjc5QUFBRjJBMTExRUZCNDg3ODRCQUFCM0E1MzU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNFMjc5QUFCRjJBMTExRUZCNDg3ODRCQUFCM0E1MzU5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+JMEDJQAAAqNJREFUeNrUVl1IVFEQ3isLifsjPZS2xi61KVRGIEEZ/UBEyW5GIVJQkPjgU1AEvgS+FPSQRBBBEFEKsS+FVFtKYAlWJD0URZaRi7jl5l+pe3WDrt7Td2TWZu/Pbkg+dOFj5nwzZ845c84MVxFCOJbyy3Ms8efMZkzNjLZC5Be4Vh6xsYcgbgIFBpOKOSVSUexSNDOdaIE4QcN3QJ3L7XvD7DUQd+02B1/FdoHpZDwKccBi3im3138FdmmLZjm8Cj+vaQF1KrYM4imwPcvkl0BljtSrnsKgN+MOpib6iiC6gPU5Jlcu6pKF/kvubM0/ejyKaQFd16yCq4BnEQu4rU5gDDYCbKSUXQPKLQJdBboBeXergAkgCcyaTyC0jFcq07WieNdPyOfAprHh7pOQ54DlFKAK9ifSGTYn9FnS86DrC7lKv6KRROckRCHx8sK/A1uA10CwyLe3j/yaINow7oV+GfppoAPjEMa3ZL0Acxg7jSlKB99cvDo0Ovy1XaZoG6XoLca3ZTDYzksnjHsgttKcCMUIGy954QSJ+D2pHPP5D0Wgf4JeBl2B3gj9oqF/rQX6GSc3lwLSeVYx15vR7ITQDsrgQ4N3HkAvA5qJ3wc4CAPwwZ60KsZ9A5eEPMw4cx2UBGqjXwYisv9UE9VGz3cH2+kN4uoZ94y4UNZCi8daLrHmJvzBuh5wsiPmM/9WynUF4x4StztXJZ9h/EfijjJuMlDaMDT4+XrYEOMROMWuC/y5A11LAQ5CJ3F7GPeYuOOMG8eiPyDDjJuHVaHNsYXvE7fTmB5w+xn3grjqv2h2Gm8TXbEPzQHeOoIbGjvAlVIlp792mltjiOuxWiBBht515WdF//sLYWp28ntFPrWMmz8p/GQfchl41VRo/+1fxW8BBgBiW3D/dN2sHwAAAABJRU5ErkJggg==',
- Ay =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QTVEQUJGQkYyQTExMUVGOUVGN0YyNzFFQzZDMjRCNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QTVEQUJGQ0YyQTExMUVGOUVGN0YyNzFFQzZDMjRCNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNURBQkY5RjJBMTExRUY5RUY3RjI3MUVDNkMyNEI1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZBNURBQkZBRjJBMTExRUY5RUY3RjI3MUVDNkMyNEI1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+m34f8gAAAp5JREFUeNrUVl1IFFEUnpEFRdOISEtBqSUpsoIQaiMLJFJ2MwyTgiKXHnqKiMDHXhJ6SKKXIAipFWJfWkTTFMEf0MJ9CKOHyECLVhxzyzJHN2jGvX03ztZxZneGIh+68PGd8517z505Z+7dVYUQylqOLGWNh8cpGJ9PtINyCjfmns4Q94PuA7mWkI41JY4baPHlEOg82TtAweLCvBcs3gCKZFie71iimLbUbZqiCVAIe4Bx6Jcpfhx+hMWt0FO5VN7kqZieDRoCDjpUbgzwuZRe95bmF6wq0cTbr0WgYWCny2LfXzX5uynkk239Rx+PatvAMJPpkuu8YX8w1tnfwBDWZHPALirZXaAiTaI7wAgge7cF+AIsAqb9DYwkX7gsy3W4ctM38FNg98jzj5fA14ENlKAW8UE5GTEPbJPsLNhJ21c0MDa3AFpPumz4PFAJjAPeo76iCZp3DdQB/xXs27CvAH3w/fAfyPMCrMD3WJucSr7XX7U53jv6QZboAJXoJfyHMhliLXIS/ChoP60JU46Atcm/3qBzSJPG2frq4jDsN7DLYauwm2HftNxf24BJpsmHS8hKpz4OrC1YdZINQ5yQyR/1zzyGXQ60kn4MUAjvMEeAa5k2C20RfJJp9nPQWFPSHe6ZlvdPHUkd1PxD7EnbSLvAtFHS/I4HLdQZuwVqIlcE60uj0OSNmMPmt1Ot9zGth7Qjbif5KtNfk3aGaQsXT5XN3Iu8D1hyPIGmZroFfvfAFAlAIQyQVs20ftLOMe0TNv0MDjDtJ9JdFSts4y7SqqzlgVbDtGek1bledtiVXxPDraGpMn51NAe9fdC200lOjV5a2+D6g4NJGqADUSQT9No6YZDmNDJNoutG22Q2OM+ia2l/cP7LfxU/BBgAAp3E9kXmPqgAAAAASUVORK5CYII=',
- gy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5ODcyRUU3RUYyQTExMUVGODQyMjg3N0I4OTEyNjZBRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5ODcyRUU3RkYyQTExMUVGODQyMjg3N0I4OTEyNjZBRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzJFRTdDRjJBMTExRUY4NDIyODc3Qjg5MTI2NkFGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk4NzJFRTdERjJBMTExRUY4NDIyODc3Qjg5MTI2NkFGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Sa6bOQAAAvFJREFUeNq0ll9I01EUx7dMa5tambPNNRc6IUlCiKSMwqK/lA9BQWAPCWFpUEYRQk2ChvggRtQyfMiH6KWHiqxgGpb9j9hDZaGuDffHOadZaW7l5n59T92t37bftGRd+HDO795z77n3nnPPJuY4TvQ/21z+h887kgKxEawDK4EayIEMJIMA8IJR4AQ94A14KpFmWoQciEMn8E64T0HUAOUsN9sBdFKZ4lWMg4lxpwF6dYJuZassbWlHhINvY7Yg6QlycC81XbMrIgbBoN8HIU2Qg0BMkDnOPy+BiTMV6yDo10HUJ2DxMaAXzKLRYdN2ygJQMouFXeAOOJchX+WKcfDJ83LD4qw1j6kDOuX+FlAEVCCTxYf/Dr4AM6A5LzDXE8/zLwfD7id0jLeUqnLF+mf/snXMpXcjxjxXXAceV+dX6Omsrxs8Aq+BldZgu56flb2Jdk32+yDqQAFvrRFwFjYGoSxK4vUVMqLbAbqWoQFjK9NDr7cPaADl/iWMly5RbdsbcYJBRxv/BELtu1JdJoHdcehNwE0Los8UMsAYxe4+29wVjFVR/5zfJwhsBj4gisNpZtfEvlfzF6eGbwf6S4AXHHbZby0LO8BL7gMqoANWIIrirrP/RgHTr2Xn7HYKHRP94xhvZnZ7+A+NAmlQ55bTFegd1utpkGtZEOnoA+AQW6dzuqzCWs8hTgAtL8iTlKY1dktrOeR50JKTV9EO2R6aiDE5UzOmdcBNpjLVyz/BD4gU9uNCJaPeZm4ZhBxij6oMNINaUMUCHe8ER5hq/BPkYCAZiKJQgiJQCuo0+ZV2SBPQ9vdebhRaHP0nMV4M3sHeGE5Ta8+FCuhXZ3i0EuDnleM2cBHYKL6Arvcgrzbtz11+7GG42Fk+NFKROwqo6C0QcOBjQV8EbrPHFd0+s/FQ2yGO/lfx8X3DQohi9qMfKnbkMA90aVfUVsOGXn4l2AkUVD3AAxYn2uDNmHL9t83crU/KLzwzNYMNXXkD6P0pwAArdo8TOH0gvAAAAABJRU5ErkJggg==',
- fy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4N0I1MkE3RUYyQTExMUVGQTQwRkQ0ODlFRDkyQTU0QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4N0I1MkE3RkYyQTExMUVGQTQwRkQ0ODlFRDkyQTU0QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjg3QjUyQTdDRjJBMTExRUZBNDBGRDQ4OUVEOTJBNTRBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjg3QjUyQTdERjJBMTExRUZBNDBGRDQ4OUVEOTJBNTRBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vRiR6QAAAu1JREFUeNq0lm1Ik1EUx7dMa9qbtpXTzCj7YIQIkpVSWdgbKRQYBPohKSwN0ihCqEnQED+IEbWMQUlUEBElKeFULCsriX3IIkpTUtd8TXuhrdozn/5nnM3H7ZmWrAs/znnu27nnnnvOphRFUfE/20zpx/CoPQRiM0gFCSAGaEAYCAYCsIERYAHvwCvwVB2u6pQzoHR70D9sOwlRBLTTPGwD0EWqQ1t9DFj6fxigFwToVrYtiQxrmHBFTqeYH8BrL2Rvxg04nGN2iNAAGRB8guwQxFkB9MApZ0AHURqAzb8BvewrMr8d2UGvAKRMY2MruA/OJq2KsPoYeNH2eeO6hIWPqQM6vf2tIBFEAzXHR5oHX0AHoDXPsXbQn2WXgSfmIXKjjZ7qhiRNy78cHWspb5RYZ/VroKl18Cv0edz3BjwCL0EXGOJTz96ydhGdmubvgygB8dJCAM5gjkEuyEGSvtWMd9tP12JqGahi3Z297SAWZICLGE/bnrp47wQPapr7pB7ItZ+Zm7QqzDsGvYIqC22IPrN7AsYodg/4cJcx5kreGa7McIjpwA4UfjjF8yr4e410c2r47kV/CrCBw/carcs8BhzCWDuIBjrQBRRe1N6us8Szfn1PepRFzk30f8d4Jc/LksaAAmnIzoihK9DfrO2dC7meg0iufwKHeJ+myV4V9noGcRzEeQz8FlzZVlRV3ZMNeQ4Yc3cvrYesdy/EmIbViMkMYK85rNqkHvyCCOEfFyoZpcY73X2QA5xUmaASFIN8DrQ/D46wahoPsiAGA4UXWpAI0kBJXlZsD6QZxF269bFcbnP0n8B4MniN+SbPMz1/oysX+tUpklZFB5SU4xpwAXSDKEDXe1BSm3IKc5Y/9BS78mudVOSOAip682UM2Dno4aCak8u7jfK4u+1Uev+rKLvyYQFEMv/ou4sdGVwBmosPxBVgDmV+HtgFIgEVu0aOEx3wrk+5/tumN3YEnc5b6ZxiDl15GXj/R4ABAFF4ijehs+LkAAAAAElFTkSuQmCC',
- by =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAYCAYAAAACqyaBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQUE4NDM1RkYyNzYxMUVGQjAwMThDQUEwRTZDMDI2MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQUE4NDM2MEYyNzYxMUVGQjAwMThDQUEwRTZDMDI2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZBQTg0MzVERjI3NjExRUZCMDAxOENBQTBFNkMwMjYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZBQTg0MzVFRjI3NjExRUZCMDAxOENBQTBFNkMwMjYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7rq8cgAAA5lJREFUeNqUVs1rU0EQ33l5JtpWU2MrYlW8FPQm9GRv/gGe/A+8iPQuilBzU1I8KCLoRfGkJ714EK9G0BxbFAVBqG3tJ0lMm7Rp3/rbfbv7dvflpbphMrsz82b2Y+a3S0+f10LGWB5E+HEmWvwfN5Lj5F837ugTrmVMeuPGazyy204YBLSLTgDlsDJlhjPnczcUGc6MW3KmwMxkba/xJBoY74a5nLTYAdVBY6ADwpzDBamPebIfROSsnSy9tEefEyV7ZOvUN4ugjpCLlWuPYgK/QOdBg97m92u0j63WR5zzb+AtrcDKAxkcCsG7kH0BTYBGICPHC5ETROjVt3GH2V3bjHch+wzesHVhGAbeATGRAzXQRcjGM1IrdahpmbFtg72Lj9WZlApuu4z7EXhV+Zo0Gm6llOJmZtRzy0VivVH5lJq63PY+rapy4YqsiKR8/iUJlsFeot/kGQkSLq+00it3N7l28sThDs5qCmdWsM5f5omXE8Rj4U90nywsNlv9JhqaYDzjCCFf/P1n9vRYcQaKO4hZ4qqu42C6r81pDn+V+YVGO1UH3liUWg68YICD9zBEf2GpuXR8dLBcyIf3EOiM1gRBXNtq/Kleb1darR3IaUBKAwvt3BwFwuVoT2V4EepAKl3cMm1tbWtzaCh/u3jk4F04v6C3XWBFFPH3K6utSrcb5THO94Bbe3djhAsEHGEW8NOggJ0SCKfQTTI7D4Ss3e4yBCiPHBuYRpBLQry3F71eWd18iMkMYjHk1aSCEIN+EuG8OpdZPQ86BxpiCWKkklnI19a3HpSOHtrGuLu+sfUMEylayeKcrooudvi7g3AWvDKFRF/BJ8BHvfxnCvFMstUbnVfCMXyUlA+vkk3bVsDVSIOMi044f1IIx8bdvPd3lPFMeEkaEI59MECTFVzfZOAReFXJJol6r8m/wbIQDnZ18pJO3mr/iXCpJO5RxlosEQ7UNHYqsB6HuYAyL0iFYjXIOpBNYVzQ5WXdhA5XTSKcTC6xysh6XyCeHqdWrrbdz4NZsBlMoAynw0npkId00nYOVEG3bZYVkOszJ8vbT7i+7QfoBug+6GzGCXwElVV279tkqTnYnH4+2W0Juuvgj6GbUN+pRwR7i/5N8N2eNx2ln1X6Dcf828o+Q+88RQZfBT0CXVYrfgGbW7CJ+t16qZXLMzfpnwSTCwrsiTgT3Ib8Grob6ItqmGbJ59Yrk7zS5Dagsb8CDABI/cmg52Q33gAAAABJRU5ErkJggg==',
- hy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAZCAYAAAC/zUevAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQzBBQjY0MUYyNzcxMUVGODdDN0Q0RDFCNDE2QjNENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQzBBQjY0MkYyNzcxMUVGODdDN0Q0RDFCNDE2QjNENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBDMEFCNjNGRjI3NzExRUY4N0M3RDREMUI0MTZCM0Q0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBDMEFCNjQwRjI3NzExRUY4N0M3RDREMUI0MTZCM0Q0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+A8lNIgAAA/xJREFUeNqkVktrVTEQTu6j7b32qVX6wAq+qKAoFutGsaj1B7jQpYIbXakL0RaKglRcqIg77aprf4I7N278D4K46+3t+33uGb8kc3Imp+dW0RyGzEySySQz853or99+qP9oBdAb0BZo4l+NlOKYAoXWWimjMh2RlZPeNMPzvDZ0M5Bv8poqKXoMXZy3Jrve74fPO5EsdB7IRnYiaZIGuqGfRX8RtML2b4HKoIdxHO8Ye+hz7YYOkSo1GsZLeULDp73TpQagG8TYDNij4BeTcV5zDeIH8I8wc0uOZQ+2Zzj+0E6C3rqbUHUXNG814c+B3oGegNb/KieiRmxXp6fO8LwF+PPQP2PdPDoNmXwaOV7xTQ+BXkL3woQrzDl/o+ImGiSTzSVkTCKWtl0C3TUng35NzuHY2rRxzmonK7Uf9NRUD3SLdpBUYDdZ72/CHZgHBY82DroO3YIzQzoNajbTQxtoLZDuY9tP5MKXWeN4JGbsr0eL1YwBNzDvNPqaEgkrklResa9oa4UCW7dBn60d4gTSaSaVoijOyxVTaldAfXZh8xZutVuWzdzolzx71gktjofjtKK7AF0r+DkZd+1q1Z8BQ7qrs+0e+O3Fpc3ZTGRCb901jYD9DpoPnDDhEE5UQMOgBpbV3WaUhlvEs1gstPR0VyYKRT1m1N1dbaq+sPEem8XCURXyNp+OGVQFLSTOMU7YdKpgxqCpAOjXZazlyYxQrZQ7sOk0nD8LxaoZL5UKV3sPVKO52to0DhYRrxIVaevH3B7kXiga4Jf5JqyTrRjqQL+aKZTwTGg9PZV+OPEaDhzBKRZlqaEbPdi770ltfn1qazvaVnEAZipjsQraAW2YmyhBXbQnSs/sqj6Zzvq+Q+0nyuXiK0jtWFdLgI1xIQGrYdzI1PLK1uTS8ub6nqnqKrBciokieBztSqkMmg8d7rKIaWKOvmYDrMVUxi78s4w40NHeMgl6/vPX0oqKm9hmuTTY3+kQTNStIpX5s6rLCNsd8GuMmiRPnw0ah8ci5kBfh0PMJr9zo7OI2aw5xLH1PY7o1NOdSDWvgGC8BfQA8kcIdVKUCzUeMcOatrEtsANnMG+OVICWaaSzCJg8QMKWImbuX7Q5Yo7lIObeabZ3a46YXKLyCWaQctQgJiNbiBNuHvm/p01QThL+g3LP1eLuiOeOQMxHTHHQCiafAhNhci0/3nk54WQDls5BSpwVL5LEFh2XiOmdYHRLEHMV8po7G/9YU1MJ4iWPGJ15qGCcNAV1q7wd8bDpJfNroCxiKtXJr6Cck+/SaU5AJSAtlFSG88Xm7VSh2YHEiAlnoFgRlbn7tZIDMn5L8q93kgib865NkVjZoBiu/FuAAQCifEm49tLj9QAAAABJRU5ErkJggg==',
- vy = '/low_altitude_interface/assets/bg-footer-deco-left-B-baEonq.png',
- my = '/low_altitude_interface/assets/bg-footer-deco-right-DYuUvCDA.png',
- yy = '/low_altitude_interface/assets/bg-footer-deco-mRGOjjVn.png',
- wy = '/low_altitude_interface/assets/bg-footer-B5yEudHl.png',
- Ry = '/low_altitude_interface/assets/bg-footer_large-Cfs0YNZ5.png',
- Iy = '/low_altitude_interface/assets/bg-header-D4zkbBcb.png',
- Ey = '/low_altitude_interface/assets/bg-header_large-a9_B8Rfz.png',
- My = '/low_altitude_interface/assets/bg-home-BUOUZhFJ.jpg',
- Dy = '/low_altitude_interface/assets/bg-login-form-BFD6qJ36.png',
- Zy = '/low_altitude_interface/assets/bg-login-8YzRAXMa.jpg',
- Sy = '/low_altitude_interface/assets/bg-masking-C_XrNjNJ.png',
- Ny = '/low_altitude_interface/assets/bg-text-line-BeXdSvvQ.png',
- jy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAAAlCAIAAAAlTet5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNjYzQjU5RUMwRTAxMUVGQTI2RjhEOTQ4ODVBODExNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNjYzQjU5RkMwRTAxMUVGQTI2RjhEOTQ4ODVBODExNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjM2NjNCNTlDQzBFMDExRUZBMjZGOEQ5NDg4NUE4MTE3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjM2NjNCNTlEQzBFMDExRUZBMjZGOEQ5NDg4NUE4MTE3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+l4NLmwAAA7JJREFUeNrsmk2S1DAMhSU7ncwhYMOCJReguBon4iSchTUMnbbFe5KdpKkpqOpZgZNKuZTEnZp88yT/SPru601MeGyt2X55NPzQ1u3QR0WqG9V4B5fFW38V+9feufoPYRTDc7QST6so2uJ39svekze9G+waffqvrL/h+HLr99vn9M+4/5D2p770jfcfvLXaDD9NFe2EX377/OXw0mp1FZ7AWnhpVUY9VJPwzJImSRdNF172482HTxP/mRu68lPKVerVyip26wTtj/+d/5meS8zZ6aT5YmmWPGte2vOEux2f3Z6lPLOtILg2gg3fmAKE7hxfsKsXSataMUSk6SmeT4w4TXdg911uP63Cpv/Si+G5VmRc7wW7BJ8luwznZdxlVFelBqE+j9AVPkvdgV35QRs0PQLa8PgQ/gwhD4HPFsvODtjo0fBlmfRmPlZ4yKPurk4Q0rsy9jH81WFjn5AdRteiVrvuktYsFXqcu/oi0gEiqNGL0T7H4GsN37CxLymjP+LdUXfEpXmVDHw3c4ndGsEaulspQ8a+0kePEactcF5z6UnoDrOWGuzcLzOcdzUCCoLbjK92e+Cpn0/6YgYfNoYRDqfap3Tm6qtteN1INZ910Q4c+4iCwy6sBA5wW+MAsrOi8+rVfHg1P/uD1qkbww4dvgy7Z1KClQU+xr59RSq7HT1i0Tho7HMJYtBoC4cNQrNtgjjXcZe0rz2AT1Y7OTx4ZKjvduJ7dGyh+k58r3PeM/adzns676m+AWNfOfG9xnnPkePhgwvieqrvNc57qu9h51UArFuuOx3WykwycZufuwa6p5OH2zNQ3+kLOBuFbnPHxbgX6AnNSMpl2XLD3CwMpuPmOjqKzcgOyrEmx3d4kDyxNHk2swCfbxaOvNvcyCirDCa9g5g8z0v59UQ6k2+X2BT03BI3Wt0eN9fh7C5epLHVabhNaF7jshch1EhoNrlRiWembQc3SyR8cyOIiDd5t0tjlz0Z3BOaniTOg+d5Q3dkBzh5QdsIUoauPvfZmQUcqRwS6YmJpfDlYQ+vMuiiW1gflBYhq1kbPvGhAw+s7Il0iK5GUu6scUke+6LGZZFpYX1Qnn0MCedlt4WFQ6G72hPpZ4XVocLKNTg7u6dWo5Zk2kFPTywcUi/g2BLpY9f3yX19n/xW3ycHfKFBFg7VmQUcZ3Xp36pLG7637z/+2yurO/uFCmRfhSrXWknNW6y3cFrmwgsLV5uiZcUZDb+5G5j74lH2mSBmIvFzf+0vAQYA9Nag3aL92YEAAAAASUVORK5CYII=',
- Gy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNzdEMTQ3RUMwREUxMUVGQjYwMjk0RUYyM0NEREU0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNzdEMTQ3RkMwREUxMUVGQjYwMjk0RUYyM0NEREU0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE3N0QxNDdDQzBERTExRUZCNjAyOTRFRjIzQ0RERTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE3N0QxNDdEQzBERTExRUZCNjAyOTRFRjIzQ0RERTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kYAhVgAAAeNJREFUeNrslssrhFEYxmckhYWNUVgoRW5RlBIlhZKFOxuUsrPwH4iF7KSULGZFyTAKJQlFIaaE3GLBQjZCTYSVz+/UOzV9jbk0cxppTv16Ot/lPE/fubyf1TAMSzRbnCXKLeoB4kN9odFpWJE2aIdseIMDmF5rtz6GOp41lDWAeSrihGoftz+hjxAOLQEwV9O1C1VyaRn2QYXqgQz4hnpCbOuYgm4xVyadmCx5hRtD1qECJqFAxyLsEp3zNleNvhvpl24+gYp1BMgR3fB1kxBXyIN083QESBB99/PMq2hS7CD6lwG+RFP8PJMm6tYR4Fy06ZeDqgxJl+6ljgAzoi2YDZjMM5FZ6R6yJW911YIFpEO6LtgDG7RCstSDSgKcRDSAVMAiaIBRP0e4+vR22IEzghhhBcC4XApNm9f8BtvUqbgIDoK4QgqAsfqkQ1BiunUvn/0I7uBZipOqiLlQCjWQZXrvAobNNcRnAMybpNR62inMq2sMcBPkWlHT1Qi9psrYzBgrgQJsIrVS6wd54Ticg0amcVwtTthivLpA29Amag/XXKqkSxam99ixWvC3f8s9PxxTLKCJCPl4fmZeggkwAquQKESqfcgpGtRBpFZrYQTNlck1O+IprGIU2wU62o8AAwAw0abQB4JjSQAAAABJRU5ErkJggg==',
- ky =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5MEZBMkQ0RUYyNzcxMUVGQTc3NUQwQUI0NUY2QTcxQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5MEZBMkQ0RkYyNzcxMUVGQTc3NUQwQUI0NUY2QTcxQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjkwRkEyRDRDRjI3NzExRUZBNzc1RDBBQjQ1RjZBNzFCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjkwRkEyRDRERjI3NzExRUZBNzc1RDBBQjQ1RjZBNzFCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vCdAlQAABR1JREFUeNrMWE9oHFUYf9+bN7OZ2WQ3arO1TZAmIdZEhdhCQlCMUkRthGBKL72ICPXgwerBP4iXqBfx4qWtIoJQtVU8aD14EkRCJUg8pRWRqljdHBKxaXY3O/Pe93yzedO+jjO7s5seOvDtm3n77Xu/932/788OSCnJzXSx8OO195e2swbEnjs+4VtH920B6nBzaKIjOwXIOgADKffm5rJTUO1aiGoA0QhHHyvtK3jWmwGXn7371cpHag41AOwEFGvDMlSLZY4WlQeFwIeV0oh6Pq2BiNiIWUHRNsGEB7CV5JR0KfGEkKMBR6IEdt9q36Lnc1qPGdZsxru2LQTaIqG+E8qhqeJsr2c9C1KOB0Hj4P0z+wsL61Vx/MzCvx+qZz/GJ3kjLEQMzjQA9bjUe2q6+E2xC05IRAVGkEgEF7vyDnnj6Yd6f50ccYe1lSyTc62sxDJYxrSQ7TBwOZeDdcRfaoFctij0eQ48wFGWK5vyO3U/ajMYsykpKf0/lHDNJchioawusyJAa1cE+XhhfVrd50MOPTHuzdsABCXpObtUCaOspqSiZENbKNCgaBa30Yz8iVxmaw41CD0x5MzaVE7WfQw4x+4DY7mX1LybQGwri7uyusyMMDY1ZB/6bVUsr6xjffGi/72a+1FvGIb2ZgiEAgkmB+1Hz10MThkcoloHmqUAliErU1MowXv2lujhgV5YFmp5FfEiAmQpbWYR5trQD0SGrvsk9ntoxSWWIbpMUFb5Mn7d7ZAVRZsdqlFo5CQ1UvUsFY+4ygBBwMn5qk9+UnOW+s6KgcJmoFiLMLeMZGjfXcK5vE2e+3kVjq3Xwdd8yRku8zWpqxP9+N59t5PppTJ9Va/Bjawt00DRJqFuErkhygR3qYy8a6eHBw0eRCUiKhOkz8M9Su8OVVLGjEAwCU7TSE5bWKgBpODgbSO9wSsExawfILFBPLmnhx9W5LVipyYD3fzAjhx/PdRTkXfn3t7gnZIrhjSoOKD/lRPWwjpswK0/6Fp4OjR4cE23YBNxZDgfHPl703m+wq3V8EfD3bWTaizwa4rhgWaKFpnxPJj/vdp13LBmIsFZk0TYCPNNTrgU8qwv6Tkb5P0McEbdf8klvWQD3qsiLeQND1et+GRRSPhLEPgnT/kLSOBCTVgfdFExxSWsaYBcry+SEiVLcddVC60GufNqnA8z80668fKWb3BiFd0wK39rmrzsuyfCr/to9UVfNPYarUqnvMZzb4dEjw6pszckdZgtXVbEyjOXaf4LRwa7K5yeUhFeUxFeoFTmQKLjyfrjV6j3eQ9W53ywF+tgX6pxOC8J+0HpMQmiSIDZBazMrdP8pwl56bqIYym98lVLcS72e2TDkwB+ANbaFlBYdUTtESqxJIjsUXRFwVFRpT7rgv+n0itvuQSqIMWISzbGhcRBpXcmIUmSVi67ruWsOIVjupC6Rn0CI7IaUnW6TyZsFPKlHuWm7VT7aKMoIgKjQGISoFjPHQk3qr2ZGDFrpjY3wAQwMgbM1IcEETp71w1g2Ekti6wTnZAac1ZKawoJXWG0hq+FGxk9sTdKshAaC0ULowbGYtERXzROVNPKgQYVmGUmDZCM5QTUgMyFrVijJRP6GkixtDB4xBPcLVtZKP7M2+lpEn6PsSIs0rjEUl4UoDFirPYAyX7FgyT+r7YpoHiPgjEXknb+8CW4VKa4SWaNMhMkaQMIafJ6RqaMLV3Wag7aBJL5O3ajF9zuBTfbK73/BBgAFzlTEArW/Y8AAAAASUVORK5CYII=',
- By =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MzM2RDJFMEYyNzcxMUVGOEIyRUY5RTAzRDZBOEM0NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzM2RDJFMUYyNzcxMUVGOEIyRUY5RTAzRDZBOEM0NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYzMzZEMkRFRjI3NzExRUY4QjJFRjlFMDNENkE4QzQ3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYzMzZEMkRGRjI3NzExRUY4QjJFRjlFMDNENkE4QzQ3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+lD3xMQAABZZJREFUeNrMWHtsFEUYv9nHLXe93vVdWtqmFVspYIM00igktBpA0LRSaf+wFW1RpCFRgVhKfCTykAglVf4oRUlDTVOLMVIsiX9IDOK7RKXGtgnUKH2H9HGUe/Tu9maduc7iMO7eC/9gk6/TnZv95jff4/d9u0BRFMO9dAn4T0z+C3ejAzD3UZ/QOXB6HlCUm4Mga5RoAQpRgAE6/9ObK9GCitRCHAGgjqDjWM3K1ETbQad77tPSupY2NAcJABgNKCECy3BEeHq0WkybOB6UxJikXHTfSYD4mRGGC4qLEAw+gIhEQrIAiZkDIB8vgFABBUsy4sm8RNYJlDWDxd2/G+K0D5JlgHKRCsaIpfXw1rLMhXEvG0VhBUQ6FKgYZBmOj9ywN9fu+7gVrfES8SGRibWUYFbCWRYOINU9ATCLUuMs7UdrzosiX4BBYDAqIAghthS+d3dd6C1p6fx2ED3joUApwUBhQFwId9ESAGWLNZlEgc+Z8/iujk/Onp20O7/Diz1eeXx43N7p9vp60XIhzmpOIYfgGbdF7bI7gJC4MGMepcR8pmnb/tQkW5HXJzvW1x6vQHNufFgkDjK6kMwRK/k1si9sC7ExxFMxFAjod155qiw1yVqE3OQTeM5y6lB1PZo3aQQ2r8FZEVuIziwjsY7l5IGqqo7unr5veq55iJVMZENILOE0irzj0K6y4tePfN6O7m8RK3lCBXew0gGYoL4tSfGW5Q3bN1RUblzZ53L7DA6Xx+/3QwRIgZJRNJhNRmFhonURxwHsug7meaBRWsImRsAwc8BtF3++ej4vO2WC57kklPJibAyQ/BByaAsFEaSMFvsmpmb7h8ZmfhMEnpdlP8+AgsFACSFSnaf4R/zoYHV5bnbKzj2HP3vtl74hL3GXRLnMS4La9UVz3cnCZZlrt+5t20d0yBRrK3qguCCpTgdyQOJt5iWSUUh7sWL1JqoUqCVCzSBD6WMF2YinslA5WUolAh3gnF6Qc2GQoVhclJfY1byjIS3ZVoYXLL0/bfMHb1ZWmCSRZ05teGPHE4/Xbnn0LYC0LJDEPESijdWlq+4joAQNXgJ6WcaWiUB6f3igquShZZmd86yMdsWsrBgCrIzHhsazr37/65+TKF4M3S11JwSOswaYGzM4nBd8jd2w79/+dkczyTaVvSGdcXpZBqjYEaZnXfK03dXdOzDyY3ZG4uqs9IQn+wdHz41M2EcWZyY/6PH6cNzIGODIxEzP5LRj9KZjbrp4Ve4ulIEDPb9fP7U8N+0R+6x7ilhcJvo105+10B3WIUEbYGWUVTEX23efQ2XDdsvhHl9Xc3ynToOmtL773O70FNsabJ2m018/+9UPA4OEi5wk6N0UL6lx+B+m1gpo4ZOm2m34ZCVFeek/XfmrvevClcbLfwx1J9jM0uKsZAuKpS1Y6dH68s3r1+Rn4Of/Hp3q//JSX+Oly9fej7OabPj59/Y8XU61I5xeHAk6vfJt7klJsBa2HXnePHPT5b0+Nj2FSdDp9EzWv7RhXVJcTIokibH4hKhRs1VuLCxb+3De8PDEzDj0Qz8qwK4HclJzj+19ZkVyfGwOWndGgyQ1SwdgYkei3UWVCLU+ASYgFabFVTeSiWvcxGUOMrqZghvQEax0qJuo/OKjCiQMExAggNReiCZGGC5T0xtADTAKA4xeDzTET9ibbtJgNLVMtY56Qo6a4zXAawEyUDrUdlZmeiIlHAtBSpGqGBJgdNOu1Y6ygUpb2Uf12H7qTUQTkMK8dUICiFbMM42WovFqA3Qs7afiSNZwtxLKQuy9HElPo/E8ZIqwbisr6HwogNSoKgLhtqFBkoR9qw0KiO1RIONCQyQvfBouVXTcpISbZTRIQwRADEE+zyg6Y0iXhZoDEQIJ+zfh/1Z4txe41z7p/SPAALMUlTpa7HdRAAAAAElFTkSuQmCC',
- Yy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNEFBRTA1OEMwRTAxMUVGQTQ5OEM3NUQ1RDUxREEzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNEFBRTA1OUMwRTAxMUVGQTQ5OEM3NUQ1RDUxREEzNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA0QUFFMDU2QzBFMDExRUZBNDk4Qzc1RDVENTFEQTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA0QUFFMDU3QzBFMDExRUZBNDk4Qzc1RDVENTFEQTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+q08ipAAABsZJREFUeNrkV2mIlWUU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',
- Uy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NDAxNDY5OEYyNzcxMUVGQjg1RUREMjM0NzY3NDVBQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NDAxNDY5OUYyNzcxMUVGQjg1RUREMjM0NzY3NDVBQSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU0MDE0Njk2RjI3NzExRUZCODVFREQyMzQ3Njc0NUFBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU0MDE0Njk3RjI3NzExRUZCODVFREQyMzQ3Njc0NUFBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5HDgnAAABYpJREFUeNrMWFuMFFUQvY+entfuLOzOzgoqyCoJcQVxFYyRD8NDEbKR+IkJMUb8MCF+gCbin4l//hAjKjE+IsYPH8QfEAQ1ED9IxBc+eEhA3Ud0F5YZd6a3+z7K6km3Xu72zM6YYOik0re7btU9t6puVXVTACDX0sXINXY58eC5PV8n8elVWjfRLS88MfgvoAZAqEE2QEgY0wabAeMOEQ+SgDkNwMTEIqLGnVjKoYm8OVcn3GdYy2mgLAbCI2JbHygNFbJ8G6VkkQb44fKU2vXG4fGjFqi6/JbVxcFiwdnJGR3UmvxWC9SeV/b/+S7ylEEkCRRrAohHgN1H7utZn0/TvUrru6XSJa1hdSHHPn74nrkrkZ826f47Cku6O/gRnLNGSD0XZW5PO/Tlx9YWt4S6kFKRXpZg9SsAUePdP2DCRToz7HlUTgKhyzVffR+OQ+rp5M8gP2vSgqL7bMz3fHXSF3o8HGdSdCfyM5FOJ1pjRmwmWSgGlIqEM1qpfiEU8abl8J6DE4+PXfR3hc+g9VLkdyDlI+rAdytD3vjl4O3XcG61Jk+Fz1KqUgKgGRZqFEOmhbJTnjrlOjRc/NaNgx1PfnS8svehFZ3zOKUh6C4jJvjFivgcY6frw+OVd9Yty29mFO4NBBClYTgCpK1YorMlxti3Tmyln4andwe4SyTalaWPPrg8v/3EOe/Tqi9VXxdfEIHqmpNj13mBcr694B1cuzS3tbeTPYUyLJQ9O+a/FMVZyrIObfeU4QL+Gc/XOxb28E1oqZIQkOrv5Rs7XbJp1eL0kC/hl3DnyFvEKOlYVORFLbVfqcKZQMIfI5Pqkx9HxDeGqxLd1SgPJeaj02PiHNLueIcOI6n1SzPrEEAeNQ+EAlJCeH7ViQvB/smqvhS5RCB5jSzSDiCwyAx4Fw+OU67K83mX3mYKobWGEYwXAa/jtDIzNCodSYDAyKJJRIz4cvFIM8fary/ri7vRYxy0th5op3SYoOKTIKN7DAoTNklx0DcFwQz5+dkUmeMJMmFkY2WRDawtQHUwpRxcX8rrzRg7C3xFR+t5UkAuFAgUGUUBcDkphUAXFugGDWQym4KblSajFz32wdgU/craGLQTQ6ZJdV9O9Zdy+tV6xKoweOnEaJUfxRPkjNfYdzVJK6FQmkN2Xl6tnPTpie6MHkgz6EeA/cWMXsUJ2zY8xT+bzWUtNWgFLp8O0AwhlT04cPay81aXI+/UUrkIphy7ES1X8wVMFxx51/mys+9SjbwXy2Wp2NFWg9bsyAupltUjFOi536fd93tSwRqXyHXY/WIEuYeijdWtmQK5nGnoLrkwMVJL77shI29xKKxA3o1WQaWt5qEZFR9P0yi+mI8r9vbx2nYM5oEAs4sENmIc67qra4L86lLd7RA91OfIxUqSHk3q+ak8W1Js5DJq9ULOlOCv+wFGcaALUsiBcBxSRTpHkD8dJb6QpsvKPRTzZaCWoLt6w3FVsDetotpW6biihPxFs8eyCnZzLYcogW6gdEIw9wufuSetAGWC8FqFZF50lb+BAvThu4pizkHPyR34ry5LBIcKD+P9S6vBInZ+Ci2AYE8j/Ry5U0RWpE2AxJl81tJBrMwdZ16VkPTM5o4l8HWTsgGtlg5l7NKPex5jblw848W4FbixriAimQCwpdKhjcV8Y56wdi+NRcw6Z54kbbjNj8aq1dJhgzEVyyh+qGGd2ILacpkpF8/1I1BBAqiWAMlImBhm58YidnwQo/21AcVWsl3XFBBYO6JWYAorbyW1E2a3ac+NdZhuhlaCWhuNlWkJexGwvkST8hht0M7YLUhTl9lflOZxT/qUtj+H2/mUbrkfMkHpJr0wzJJYG/1sIO10jEl/Kf6X3zGzZWpylcA0vei19kvvbwEGAC7xDSkG3qw/AAAAAElFTkSuQmCC',
- Ty =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQjFDNDg5NkYyNzgxMUVGOTQ3NEEwRkFGMUJENTNBOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQjFDNDg5N0YyNzgxMUVGOTQ3NEEwRkFGMUJENTNBOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBCMUM0ODk0RjI3ODExRUY5NDc0QTBGQUYxQkQ1M0E4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBCMUM0ODk1RjI3ODExRUY5NDc0QTBGQUYxQkQ1M0E4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Du3D/QAABgZJREFUeNrMWHtsFEUY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',
- Jy =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGOTU1MkVFREMwREYxMUVGQkE5QkYyQkUxQzQzQkYzMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGOTU1MkVFRUMwREYxMUVGQkE5QkYyQkUxQzQzQkYzMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkY5NTUyRUVCQzBERjExRUZCQTlCRjJCRTFDNDNCRjMyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY5NTUyRUVDQzBERjExRUZCQTlCRjJCRTFDNDNCRjMyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/7vDTgAAAYVJREFUeNpi/P//P8NAAiaGAQajDmAhVYP3mv8KQKociH2BWBqIvwHxCSCeDsRrt4YwkpSoGElJhEDL/YHUMiDmwqFkLRBHAx3xk+pRALTcFEitglp+AYhDgVgFiM2AeDIQ/wPiYCCeRpMQADrgGJCyBOK9IC66L4HyoVAHgoAZUP401UIAaLgS1HKQa9OwBTFQbDWQ2gTlxlA7CnSg9DWgRffwqNsKpbWp7QAhKP2GgLpXUFpktCAiOxcAExwvkKqCZi9mqLAEEKsD8UdoFsQFRKDx/xWIz0DF/gLxKSBuA6afz8SUhB1AnIXDAn4gtifCY9xo6pyAmA+Is4lxgCWUngfEl6kQyrpAnIRkLkEHwNLFZmCQbaDUdmCUBkAdwESVygjJYHlokE4FOvThQOQCkOWl2OKVXg5gQ6NHW0R0d8BfNJo+TTIksACIxaE0/R0AzHqXSan3yXGAOTCvUyOazUl1wCUg1gfiCiqnt0vEOqAESutR2fISipvlo+XAsHQAQIABADaTZKN0zPqsAAAAAElFTkSuQmCC',
- Cy = '/low_altitude_interface/assets/logo-U542v5cr.png',
- Oy = '/low_altitude_interface/assets/module-aid-Bw8qh3iw.png',
- zy = '/low_altitude_interface/assets/module-area-B1n7Qz4I.png',
- Wy = '/low_altitude_interface/assets/module-flight-BCitDKmg.png',
- Fy = '/low_altitude_interface/assets/module-info-CtAUYRHk.png',
- Ly = '/low_altitude_interface/assets/module-monitor-CC6MnDQl.png',
- xy = '/low_altitude_interface/assets/module-scene-DWutJJwJ.png',
- Vy = '/low_altitude_interface/assets/user-bg-CR5-MoDt.png',
- Qy = '/low_altitude_interface/assets/bg-uav-CWYU6i_C.webm',
- Xy = '/low_altitude_interface/assets/alert-bg-dl-CafDf2Kq.png',
- Py = '/low_altitude_interface/assets/alert-bg-ky-DiCvAlB-.png',
- Hy = '/low_altitude_interface/assets/alert-bg-ph-M5eBTqpG.png',
- Ky = '/low_altitude_interface/assets/alert-bg-pz-afXq_Fxv.png',
- qy = '/low_altitude_interface/assets/alert-bg-tq-CDH2j944.png',
- _y = '/low_altitude_interface/assets/basemap-dark-h-CTlAwCE7.png',
- $y = '/low_altitude_interface/assets/basemap-dark-Dw8xSkea.png',
- ew = '/low_altitude_interface/assets/basemap-light-h-fUxeO3T4.png',
- tw = '/low_altitude_interface/assets/basemap-light-TAOSJTze.png',
- nw = '/low_altitude_interface/assets/basemap-rs-h-B2l6S6B-.png',
- iw = '/low_altitude_interface/assets/basemap-rs-BjNVzNuN.png',
- sw = '/low_altitude_interface/assets/bg-chart-title-Dbvi_gbJ.png',
- ow = '/low_altitude_interface/assets/bg-des-BVoElkIM.png',
- aw = '/low_altitude_interface/assets/bg-dialog-l-p830com7.png',
- rw = '/low_altitude_interface/assets/bg-dialog-s-Ekpi1P4n.png',
- lw = '/low_altitude_interface/assets/bg-dialog-wide-CuwsgkqW.png',
- cw = '/low_altitude_interface/assets/bg-dialog-B9h4t3Rk.png',
- uw = '/low_altitude_interface/assets/bg-fxjhzs-rLgfJ7mr.png',
- dw = '/low_altitude_interface/assets/bg-gjzs-DxhxYXDI.png',
- pw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAAAcCAYAAABibZFIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMEFFRTkzQkYyNzMxMUVGOUQ4MTk3NDMwNDRDQzk4RiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMEFFRTkzQ0YyNzMxMUVGOUQ4MTk3NDMwNDRDQzk4RiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIwQUVFOTM5RjI3MzExRUY5RDgxOTc0MzA0NENDOThGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIwQUVFOTNBRjI3MzExRUY5RDgxOTc0MzA0NENDOThGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+iEaBZgAAAo9JREFUeNrsms9rE0EUx+dNo0Isil5ExTaSFIRaBQ8iCCIKm5NH/wLx6sGreBBvPfkv+B94rSJ6KyIIhR6EWhEjKlJYmm6yu9nNjt+pbEjS2RFB+kTeg/kR8nYZ3ifvO292Q3eW3ytrNOrU6PP5+fwuhsdoJ5TYflsf7cm924sPqArS0ny+WBi12tmaeRrF9EMps/s9jVEs5zQOl9TY/cxef8d1BL/xNdDEd+OjmbyH09dMraHqfsax3unRONZa5W9+EwvX3OyJ5eg6Q3WV1e5jVq95SN7qp7S+A0Akv+r9N6Pq6L8ik4ba49aOEvog0WKyQrfQr9ipExKkbhaJeDmM9CeJFlcmkYX0vBIS7Pogo2/DQmUSLRarAdIZjC99kNrxQG1KrNikbg79O+xH2z5IQbevNyRabJCapdQ5IWE/ahSFOtXt27JbjKmyW/BCslKXZLS56yrGUTDMoh3A7K0PUtBLSaSOyeiX1L2y5yMnJEjdDIYbYURSNPwDpXdVJl3JhipOM+pJtHgSCZCa5SG2ClIQD+QpA2NVZx9kf4HUffZCimKBxJZGhhampW4C0lIjP2aMuhj2dEfCxbYfNb2QYDfTnDo4I+USLRY7CEhW7l77IAX9VKSOcT9qoH+D/ajng9Te7gkkxvNRyyV1I0gXGvm5YaGORAltSbhYz0crlZCs1CVSenMCOmoFD23NC0newrJL3QvsR87npRpSdwjjtTDSHyVcbOejSqkrM+nqIKcwy1Ui4WIxDbk7azPJBymIU3kLy5dF+jSGDUjddx+kdjfWsh+xnY/8UldCmksztSPRYqnqjiOTLmH2zOdm/xy53Do5fIjx8H8iIH/Z708DXzF3W4j2CFK36nP6KcAAwkXP/o83u1cAAAAASUVORK5CYII=',
- Aw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAcCAYAAACNr/p2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOERFRjMxMUYyNzMxMUVGQkZGN0Q2MEUyRkJCMjFGRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOERFRjMxMkYyNzMxMUVGQkZGN0Q2MEUyRkJCMjFGRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4REVGMzBGRjI3MzExRUZCRkY3RDYwRTJGQkIyMUZGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI4REVGMzEwRjI3MzExRUZCRkY3RDYwRTJGQkIyMUZGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+cXLbLAAAAotJREFUeNrsWs1qFEEQrupkx6BBJAY9SCT+IngInjwoepDoA4gP4At48KQHbx68Kh59AvUFkiAE8eJNFsWDxp+AIBLdZTczuzM9M+03ie5OJt2rSJj2UB90VzFbMwz1bX9V3bt8//HrW0R0B2M3CerGGsbtG9dOP3IFMAiKqJE+JDbd4oIxww/NYCoMDy6aUsBvf8t95XvM8DnV2GFcMfHWOGs8b7vfHsvumEEsb38P6/PY8q7V3JTe35mLajzR5ARNz0xn15Wi8yCpaSNIYXzGwyfly1w/1vu8Fsb8Cu5VV0xB0CLlfFzS5QfdHr+HuTyaICME+UI7VKuQwbkHT95MuQhaBkEHoImBpKt+5IayOOVVuJfsBAU6hH1JuZqVdPlBFLtlTv2ykDklMucJnehvCJJGwWc39z3LaS/q0CkXQUWrl6MW7ZN0+UE/sa+iTYICXeydllCHZBV5QtgfRdAmFiBzxyRVftAK1QeYC5C5XS6CliBxRyrXBDVBp1C5lFtwz9kJCvRXzO8gc4ckXX7QS2ilKnPV1bLAcqrgDd1IFXXoyiiCimMfqUOe0I74izF0EnXooIugFyBoCmNC0lU/QE7e1/wR7rydoEDHmJ+DoKOSLj+IYl4py5ytY1vkXInM+ZK5cGM/NA+ZYydBWEEnJFXeVlA7zWgM7pyVINPQb2E6IGm/pMsPUIcG3ZxrU1rInLTbnrBe+pXVSZD8yuoPrVB9MkRnUYf2uAh6BoIOw45JuuoHalCSaP4G96KVINShHzBNyNyMpMsPegltyNyog1GROY/ohOqPBD3FCjrD0s15QZxS8UfS2XHnsUNDN1k3bnI2fg87pn8niSv2v4HZ4bid3xJh3P0pwAAachoXQBH3cgAAAABJRU5ErkJggg==',
- gw = '/low_altitude_interface/assets/bg-plan-h-BWrXvpO2.png',
- fw = '/low_altitude_interface/assets/bg-plan-BYgZdbxv.png',
- bw = '/low_altitude_interface/assets/bg-plate-BQPsxBPA.png',
- hw = '/low_altitude_interface/assets/bg-rank-1-DNlHjgIH.png',
- vw = '/low_altitude_interface/assets/bg-rank-2-BJdSA4h3.png',
- mw = '/low_altitude_interface/assets/bg-rank-3-DEuyfWgu.png',
- yw = '/low_altitude_interface/assets/bg-table-row-DDA4tILq.png',
- ww =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKMAAAAtCAYAAADC1tsoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQkE4MzI1M0YyNzMxMUVGOUVBMkQ0OUIxMTk5RERGNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQkE4MzI1NEYyNzMxMUVGOUVBMkQ0OUIxMTk5RERGNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNCQTgzMjUxRjI3MzExRUY5RUEyRDQ5QjExOTlEREY1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNCQTgzMjUyRjI3MzExRUY5RUEyRDQ5QjExOTlEREY1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LW4YkgAABZpJREFUeNrsXUuL1EAQzuqsL8QXuCDIiqiwILP4M7z5S7z4Nxa9ehM8evCgHtx/4WEQBfGBelHRgwiyzk7Kykx60ulnddIzmc5UsGaSdHeSyXypqq/6c3bj0cvvmWfZRBugbUj7QNoGx1hfPzAcV23zHb9JG6Xd2wfE6/xfNQLEJlS9QToazDbK13q7aIH54eVjSf1AOpPoB+r4ens1Vj+maXztnIZ95jHVvuo8huvEfXt3b83vycDzZRxFO4b2Fy3PeMkkCGUSzuaAIQBQ+1LCAAhkILrGVv3NwNH3mQFY9fUA0PJwyMuA4BXzdQYiKAgzAhBkF6p7OBmgdQDKAFK2PV5MHW/tYwMB6KDUz2f2ZrqnVc5XA67iMcU1AmhhhwLGfwxADwClGyvFXYP3Uo4JShsFgODzhmGgNAKQNKYEW8OQXY8gNDAeL0P0WgEQlAYdgO7wawIgKH1dbWDN/3zh1eyRzGFbB5PPm5nApHlWh7edH1d5AChgLMjDCbTJ+uV/qncjArBp/ucAWkwCQh9DJyBNQ3ZomN4MYJ39Cb8UAFLzv4UREPM4MpmwjHGeJ1bIbpgznuwDcYmb/+kkoxUBka4pKNezhO3WYKqFURoBcTJ07/XRwXgK7bD/AIQaGCkERAOuJ/8zh6n4BMSUk4XkjDFDNpmhE8F4Bu1bWgAExcvVC9AxCQiACci+AjTFUxAL0JHYrI2AOB8GEkHyPSBhYDyH9mldCtDtCUhaBWgTMEJYNp0g+WeDfGAsyMtptIO1LkAvk4AQQLnoAjTpASGkFVSvmREJzNlVKXYvlIBYSysNC9CkWl5gAbohm7UCsEHIdqUV1Lpn1qLofaHLYncoAamH3y4ISKQCdAgBcYoWqAVoWsgmTytmlPCuPvR+MG6h/Vw1ArLY/M8fdlddAdO2AO0bYydpjofRQ+goYLyE9iElAsIKmObTfKH5H+VhNKVETT3jNtrz5AnImilgQgiIL2cMeRjD8mjz7IsNjOfRjsRi0qyAoYyJXDMMqGs2JSDO8Esog1EJzGW037EAyAqYbGkKmGAC4rkXITNHuic0TBBYopoLjFfQfrECJj0FzEIISFD+ZyeEtpTLB8ZraK9YAZOeAiY6AaHMMBEqEtoxAqYDd9BesAImPQVMWwJCjUL2emwAAAlsupgGvIH2hRUwCSpgnKGWTtyc+Z+jqmHkCuCvE9vAeLXIF7HfmBUwCSpgWhagfQQEVBy4plU9aZppfnqgEJAiRH9lBUy6CphlEpCQOrEaKU3LAOrh9yauvGcFTJoKmJA82lkbDCUgLQBYB2P9wEN8e8wKmDQVMKEF6DgERJ/aCwGg7hmrA+/i5ltWwCSqgOmQgJj0iY3AWB6n+G8GF3H7Mytg0lTABOV/1mlVYvi1FK5bgnH+oYf4+m52TlbApKmAiVCAjpT/NQJjns8/xi6+vGYFTLoKmCgFaEVPsGgA6mF6dtYhvo5YAZO2AqZJ/qcTkG5+t2GQVzelAOMTVsCkq4Ax539+oUqXABTLnXv7GxKBgSG+j1gBk64CpmsCEitn3MYb92c6FcgKmLQVMB0SkDZeUS7tYIiGEStgUlfAxCtAL3t59uA2TD0jTGdeYMQKmH4oYABWH3zKMv3t9hmBgaLGCPusgOmPAibFpcwZp+RljxUw/VHAJAlGvOGbaNdx/Q0rYPqjgEllKckLlJ4x38EP+RHXD1gB0x8FTKphupiTHrEChglIl+RFzMCUxW5WwPRJAZMmGHPYwi/qBytguADdERCnNUaRMz7Etad4X+6zAkYrQIthRTU2LxuL+kNetID462Ez2V1eInZSXmLRR6xPpuNmH2AitrOqrbBDyeTt4ncyx+U+sS5MbMt9D6V9Y6V9rJxjrJzP9C6uNbdsg/RZxLu6L5P2g/QU1v762n8BBgADwkWhn2vPhAAAAABJRU5ErkJggg==',
- Rw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKMAAAAtCAYAAADC1tsoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMzQzRkMzN0YyNzMxMUVGQjI1OEI5QUI1N0U4NUZFRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMzQzRkMzOEYyNzMxMUVGQjI1OEI5QUI1N0U4NUZFRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQzNDNGQzM1RjI3MzExRUZCMjU4QjlBQjU3RTg1RkVFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzNDNGQzM2RjI3MzExRUZCMjU4QjlBQjU3RTg1RkVFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EpEU6QAABARJREFUeNrsnc9r1EAUxyeb7CrFinhQULyoiL/x0L/AkwdB8ODZ/0DQP8G7B/Eo/gviQezBP8C7IiIqQlusgkKVtrTdzfM7mUnyki67W22S/fF9dGbeTN7MZGY/neZlm0zw7NUPQ9klgc5IEkmue0XSXKLbOpKauWJdx0e+KBBfSXRbkvcl/hxEpI9NEgWi+1DtoyzYVZa3H4irFIgUytJzlqRv0X1LbuOa0/a5TToPrkyS8/Bjgt5FsuPbz+wfP1jI5isid31FRgRQAyZDADQjAGiGAGgGAGgGAGg0PP3Ksv6KAA6xzwAcZm9/cQ5A6aBoqzxewtiPwL0DaAjgSPa2dAfxHNItbU8YCWAdAJbtYygddZmQ1ZtpGAlgbQBq+/Q6NUTaFT3fswYjAWwEwOIcur/YHRzsyqxdMxLAsQAwH4NID8lB6BvS56IxIoAEsGIA9Zx0ER1B+ktk92cXEUACWDGAWYribZTOF8c/BTASwIkBUNfZRjKHXIi0N9EODAGcSADL4+8hOgR1zUzarR0COBUA6vndRnoYmbWJWBkJ4NQBqOtvIjoKdcmMK4wEcKoB1J/fOg6dGTsHhgDODICqDVwrGjkxFrd2COBMAqjzW9AiZOeR/VM7jARw5gEs2Zl1HDheG4wEkACWANRtWE/6JLRPlcFIAAngAAA1Bz+hXdj3a0YCSABHBFDdyJFVmNzcFxgJIAH8BwA1CxbG0/ZrQei9PcNIAAngfwKYtWfsIwjOeTmF8HUkGAkgAdxHAMuyinB2IIwEkABWCKCWZYTzCK8LMBJAAlgTgFrsinin4MAUnkUggASwWgC1fEa4rAuCpy+/E0ACWBeAWlr+pve1F49u/C6tjASQAFYOoJYY4QvCRYQ3CYyx6pUAEsCKASzLR4RLGYwEkADWDKCWDwhXlQNDAAlgrQBqeYdwu+RNE0AC2Ii8RbiSedNPni8H7lwJIAFsRL4hLMCjXokkTl8Omb8TigASwAZWx5XMmyaABLBhGBcdjASQADYL43XnwMRCAAlg0zDey256+8kOUi+GABLAGuU9wrlb9xejKI6FKyABbEzgRW8CxCULJGCMCSABHAsnxt30dj+tdE4IIAFsBMY4Fq6ABHAcYLybOzDF3ZMIIAFsaGUs7mQkBJAA1iwbCMcSB8bPlf1iMBT7XIyD0vi93wK/YqZ72bX814ct8ceML7PHvH2Y6Ma0fJuht295Pekn2RNEkDp7+zxOmrZhG/oXBFm7tjsvayttpG17DDZt/88eHZfaZ3rE1u3kdrCx24Ql/Sb1Or7PyL/ON1J1bT40bm8/OxZ37vkYQze+5HnfbKzG7RuYzIdx/8HsdTcHfsJTPTClvQlnWeBJpzA+/CvAANFKI/Dj3Gb7AAAAAElFTkSuQmCC',
- Iw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAYAAACMo1E1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpENDI2NEJGQkYyNjkxMUVGQTcyRUE4NzUxOEM0NjJDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENDI2NEJGQ0YyNjkxMUVGQTcyRUE4NzUxOEM0NjJDMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ0MjY0QkY5RjI2OTExRUZBNzJFQTg3NTE4QzQ2MkMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ0MjY0QkZBRjI2OTExRUZBNzJFQTg3NTE4QzQ2MkMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+MvnURQAACYhJREFUeNrMWM9vJEcV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',
- Ew = '/low_altitude_interface/assets/bg-title-DIx-zQBE.png',
- Mw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAxCAYAAABznEEcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RjkxQkRGMUYyNjkxMUVGOUEwRUFDQjZGQ0M3RTUzNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RjkxQkRGMkYyNjkxMUVGOUEwRUFDQjZGQ0M3RTUzNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhGOTFCREVGRjI2OTExRUY5QTBFQUNCNkZDQzdFNTM3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhGOTFCREYwRjI2OTExRUY5QTBFQUNCNkZDQzdFNTM3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+E9dLMwAAB69JREFUeNqsWltvG0UU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',
- Dw = '/low_altitude_interface/assets/icon-cube-1-xizbgil2.png',
- Zw = '/low_altitude_interface/assets/icon-cube-2-yg8Q6nz5.png',
- Sw = '/low_altitude_interface/assets/icon-cube-3-pcM6u2wP.png',
- Nw = '/low_altitude_interface/assets/icon-cube-4-BS6eLMgd.png',
- jw = '/low_altitude_interface/assets/icon-cube-5-DNapFerj.png',
- Gw = '/low_altitude_interface/assets/icon-cube-6-CKysJ3Ds.png',
- kw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAvCAYAAABKQCL3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBMzFGRjU0MkYyNjkxMUVGQThBNUYyQ0Y1MTk0MTUyRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBMzFGRjU0M0YyNjkxMUVGQThBNUYyQ0Y1MTk0MTUyRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkEzMUZGNTQwRjI2OTExRUZBOEE1RjJDRjUxOTQxNTJGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkEzMUZGNTQxRjI2OTExRUZBOEE1RjJDRjUxOTQxNTJGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+NBK3ZgAACDlJREFUeNrMWt1vFccV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',
- Bw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1RDE0QzY1QkYyQTAxMUVGOURFMUFCMjM0MDk5MzBBOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1RDE0QzY1Q0YyQTAxMUVGOURFMUFCMjM0MDk5MzBBOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVEMTRDNjU5RjJBMDExRUY5REUxQUIyMzQwOTkzMEE5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVEMTRDNjVBRjJBMDExRUY5REUxQUIyMzQwOTkzMEE5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Rx+HgQAAAMVJREFUeNpi+P//PwMBzA/E64D4JLI4AxEapf4jwH6YOBMDftABxIZA7AzlOwDxeiBmxWdTDpJNIL47Ep+LBYdN8UA8GYn/FohloS54D8TfsNkU9B83wBk4jng0dQExKzaNFng01aC7DMZQAuLfODRNwxZ4IEIViN/g0DQHV6iDiDs4NK3DlzAYgcQXYPByo0XHdiD2gooLAfE/NPmnIN2/0Gw6DjXVEk9g3QYlgEtALAk16T40WYGAIBB/BmJsyfIdQIABAEPv8EzRXYnWAAAAAElFTkSuQmCC',
- Yw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3QTQ5QzlCMkMwRjkxMUVGOTBBOUE2RjQxODVBRjFFRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3QTQ5QzlCM0MwRjkxMUVGOTBBOUE2RjQxODVBRjFFRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdBNDlDOUIwQzBGOTExRUY5MEE5QTZGNDE4NUFGMUVFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdBNDlDOUIxQzBGOTExRUY5MEE5QTZGNDE4NUFGMUVFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+4TnsbAAABDxJREFUeNrcmVtsDGEUx78Z06JIUF11TUjKgzaVRlXbp23CQ0sibhG8ShqXkJCUSLwg1Qiiuk/0BXWLBw+8IC4PlBKJlgf3hLYujVVVe2lnO/6nPdOM1dr5ZndncZLfS2em33/PnDnfOedTekVCbBrIA3PAZDCW/94NPoEXoAW0RT+oGYbUQkocgovBBrAYeMBbFuQHIb5nFJjIP2gW+AyugzOg0Q3BGlgHdoFx4CZ4CN6BWCsrYCYoBGXgOzgIzkK0ngzBXlAH+sAF8CTOMMoHa9gJmyH6VqIE02s9BNaCE+arTKBRaG1kJ+yE8FA8grPBVRBk7/4QybExYAvIABUQ/cGJ4Nn8gdwDF4U7RiFSSh8yRL+WETwV3OGP6opw1yr4o/RCdJsdwSM5TilvXhKpsVWc14shOmy9oA5x8xEQSKFYwWuThqPRF9QhUtdqcFyk3kjDSl1RvMOFBOXDZnA5CanLqS0CKyg8zM1Fs1ykHUy3K1Z79Giv8HjmxSlIEeGwX8/JqRzm+n2wjLWdsgqmbbMKnLO9lMezICE+DIdDMe6glFqF0DgNLxuqZbcZJ7XdBgJdohcBFQ+trY/13NztMVZ6wtqKrR5eD25LeaanB+WO4dyzHz826V7vfpt332KN90zBS8AxyVeJMqjPkVajvb0xUl5eLfEIVYTbTA9PB1lcItq3EEIvEpFX6/c/lRQrWFsW4ni6yjvKGxv17O+CnaCq2WplZb7sS+EGIY88nAPaHXzdzjwsxCR1+fJ9Ij39QF9t7QOJ56iuyNG4vfFLLxsMKkLT6MMzhKIoso+rXu8e/ODqPp/P7ib1lfpFjVNG0IFg0S94IIc7MrW0dDcePhzx+e7YWZGaW83xgsFghAXHt9UVFOzgUtZ2U9nFzaFsDI+B6IDR0nLSuVpFMTo77YbjaNChces9X3qxUCgNu9W3SH39DZcKoQmUjymtveQOQz6Gg8ERLlZupPGVxp3FbI5lQ0qwrrslVmGNzeThVooN6Tge8LBbgmf2x69htJrV2jWeyMjvdO5YIWscbJEauD2SExwOuyXYyxoHBTfyrCv/L/Qwaeo2OyHVUlzU8CDDfi3hjodJUw11G9Fd81mQBopsF/CRyPgkiy1iTQ3Wnc40ylGbwHlOdYEYIfEJgjuSKJbmbDQkXGsdxw41+fFx3NSkuMWnprgZYjf9d6MqumEpd6kVKRBbwWsvixY7nIdNo62QCpu74h8Yt5o2RQwMtAM86wok8QPbKmwMtNUY/4geLOFhRh3PupKRuup4rlfyJ7F2PGy1Mv7HOodIog5lKM/SocxNW2Wbg2MvmsDQsRcdHtIiTeC9sHfsNQMs5B9P2y0dezUk69grenHzYJGmRpk8N6BxwRfONGaKzOTiexZfo6rLPFg03DwJtRp5jkavc8XAyVMG/51Onejo9jl4xm/i11cmKfinAAMA9QmudzoC8G4AAAAASUVORK5CYII=',
- Uw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxODJGNEY3MUYyNzkxMUVGQURCRURCMjg0MzU1OTEzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxODJGNEY3MkYyNzkxMUVGQURCRURCMjg0MzU1OTEzMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4MkY0RjZGRjI3OTExRUZBREJFREIyODQzNTU5MTMxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4MkY0RjcwRjI3OTExRUZBREJFREIyODQzNTU5MTMxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+khPTRAAAAbVJREFUeNrslcsrRFEYwGc8xjupaYoQGaSR10YeiTJ2ZKMszQILG1ngH5AVsZaFLCw1YaWJRk2xUdSERJTyKilZyLh+p446TefOrTtNWcytX9853znf85wz4zQMw5HKz5kOkJIAOxGHCzEPQ+CGKGwOdjq2kg6A8xLECXg1y2sEmVAVGTaqXlecb8MCXMj5OAmM2K4AYw/iSU43yHZM6jNlm+rgCH2P3QoqlXHwb4DDmAwgvvJkWnSvjBfJvFpWMIwYkPoH1SDLpBUFiCZwyT05kE2mQdaOGbdDPVwyv0Y2KOa7lmeA0RJiRhO7D+7gxqTCL/CQyLtVi0ZN9OKu3yJDJutzqnNtBWTfgYgkOIdpnKyyL770M/TN8Zt1FXRbHPQKzv1Iv6IzhHP0Xii0qqAFkQ8xmYAY50IeCGPxFmpwOMneKREQGqEUDsDHWlQbAIMyxCGIPj/CK7xJRG8/oQj24QUqoBiHp9iGGVdBgHnI7Jr2Q63E7PuGNnkdfRDGuajwCvbgI9E7CFj0X5TbBcvQqiSlnt25fEPaAG5Zuu4HSpzJLPRKp8+aPcLfT/of7X8F+BVgAAeim7Tts/SdAAAAAElFTkSuQmCC',
- Tw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAuCAYAAACBHPFSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3RDg4N0E4N0YyNjkxMUVGOTkzM0I3MjgxMjQ3MThEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3RDg4N0E4OEYyNjkxMUVGOTkzM0I3MjgxMjQ3MThEQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdEODg3QTg1RjI2OTExRUY5OTMzQjcyODEyNDcxOERCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdEODg3QTg2RjI2OTExRUY5OTMzQjcyODEyNDcxOERCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+AoNh7AAABuRJREFUeNq0WstvG0UY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',
- Jw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RTA2OUM3NkMwRjkxMUVGQTRFQkIwNjQxRTMzNzNBRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RTA2OUM3N0MwRjkxMUVGQTRFQkIwNjQxRTMzNzNBRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMDY5Qzc0QzBGOTExRUZBNEVCQjA2NDFFMzM3M0FEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhFMDY5Qzc1QzBGOTExRUZBNEVCQjA2NDFFMzM3M0FEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+NtURzwAABw9JREFUeNrUmQ1MFEcU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',
- Cw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OTM2NjAzRUYyNjgxMUVGOUU1RUMxNTc2RUQ2QkQ4OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OTM2NjAzRkYyNjgxMUVGOUU1RUMxNTc2RUQ2QkQ4OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5MzY2MDNDRjI2ODExRUY5RTVFQzE1NzZFRDZCRDg5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5MzY2MDNERjI2ODExRUY5RTVFQzE1NzZFRDZCRDg5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ZW5kdwAABgVJREFUeNrsWntMU1cY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',
- Ow =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxODY0NzUwNkYyNjgxMUVGQjk0RjlDRDNEMDdGQTQ5QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxODY0NzUwN0YyNjgxMUVGQjk0RjlDRDNEMDdGQTQ5QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4NjQ3NTA0RjI2ODExRUZCOTRGOUNEM0QwN0ZBNDlBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4NjQ3NTA1RjI2ODExRUZCOTRGOUNEM0QwN0ZBNDlBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3Dgx6AAAB6hJREFUeNrsWnlwFFUe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',
- zw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQzIxNzYzREYyNjcxMUVGQkE5RjhCODZCMjVGRjE2MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQzIxNzYzRUYyNjcxMUVGQkE5RjhCODZCMjVGRjE2MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkRDMjE3NjNCRjI2NzExRUZCQTlGOEI4NkIyNUZGMTYzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkRDMjE3NjNDRjI2NzExRUZCQTlGOEI4NkIyNUZGMTYzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Y8BRiQAABhxJREFUeNrsWntMU2cU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',
- Ww =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFQzU5NDhGRUYyNjcxMUVGQUMxQTlBOTE4RTM3QUIyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFQzU5NDhGRkYyNjcxMUVGQUMxQTlBOTE4RTM3QUIyRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkVDNTk0OEZDRjI2NzExRUZBQzFBOUE5MThFMzdBQjJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkVDNTk0OEZERjI2NzExRUZBQzFBOUE5MThFMzdBQjJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+P/n8FwAACTBJREFUeNrsWgtUk9cdJ/nyfpAHIS8gKgmgKPIQUZB6GKJiFTt1aNu1da1Otq7Ox9qz1blaj1PXVfs4Z7pWTzs9eo6rrO2mVZHiYGoBFZCigEgSICEIJCYE8vpCHrs34WJIPRZstNZyz7n5vu93H7m/+3/efCFkri1dE/aYFBL8iIpNexJe1Y3nj/3QCMROnfsMvOrUdaeJYY9RIUA1w+0W8w+dCJXO4jxWkhknM05mnMyPmAzpQUw6KUogEvHZUdeUXY1WO46zGFTqT3OS/wDbbA6n1tBnvdGl72tTavW3HlkyOTPi5sSIuDlMOjXFF8QIYbuqGtqukjEMY9Ep0yAGr0Iea1HiJFFYdnKs8tbt/orymtYy56DL/UiQyU6JTY+TCZfRqeT4QHyChJ8FyXi8Xm8YIcxOJBDoge0MOkUhjxYoQL8VHbeMxWermr/8XsmsnJ+yWshnLwnGwUb3OnCnT40AFy8RWCeRcPc5KEQiL04mWCeKmJn2SenVvbjT5XroZF5YMnMTj03PCsQsNryhUd39afW1jiaEYUAkoAIyI9kAjoM32nv/buy39UyTS54Cc2W8WJCx5+iZ2t+DefCHRubFAkAk/A4RIAn9dVX3x+U1qprAfpAIVDMsSDKQSEWdeuvVFp0aPtc0ad9e81TGaxwWLeOFxTN27S+u/N1Dcc3PLUpbLeAysuBuwzpgwy/948SVjYhIaoJ00i8K0os2PJ39t5R4aazZ4nCgvqh6PF4DIoLKzQ59CWxj0siyX62Y/acHTiY7ZWJitCh8CYaBRYFqdeD1Bz+/tMdidzp9EluavmZhZvxfxRGsPDqNJBIL2JIhCYWhMbBSKRhPJubyAueOnyCYg9q5bNr0wrykJQ9UzTKTYn6NDW2B2+Ox7C+u3ukzYuB/f1M4eyeDRpYH9ueH06R+MmDniCPUj7ZqftKO81fb3wOSG0ibLJ0jjmDOG0FOFrGaz2GcM5pt9pCTWTBLkcqgkcTo+auvtXvR/YanM0cQceAuTWevuaKyQXuRSaeQSWC3iUHujISRRPmZit33+s6C7PjFh0/V/yvkZKbHi5ZCFfB5LbvzRkVt23V4/8rKWS+zmZRhItoe838Ofl57FD1H8pgM7C5kRlPkMfxVQj7zTK/Rag0ZGZmYw+GHU6eh54qato/gNW2yJFoayfwJwnW9A6cCicCiN1ltGBbmxcZgoW63x2qxDyp1vf014N4TUsmkJojiSENScQ66ey836trh/dzUmEWB+L7iK4eCx06ZKIgkYyDUfItkgIezA4mr1Lq+8yWVqipjv93xQBzAJCl3Klp034BTiXAhnzEN4S3tppMjzuXAKbyyKv0liYCVA8IN5a4S8HitPUZrVcct89fFZc3VDyWd4bGpUWjRYMeUfhUTS1h0ss9bgcA4eLpSdSFwzOafZ6wDRHK/mep4zHqT7Yqm23y9ok5T36W3+OxBEcPjAem6NN39A+lTxNL8LHkhjYLxXW6v7c0DF94KGRk6DWOTSH4ywJXqfcYZzZUizOF0375lsAwb6UQpJzxGzM6921wnLqjeKrvU3oqetxdlb+Jz6MnAXTMb1YbD+47XfRHJY3CALWYPqR8eUslAqZCwoUhLRLEijIAwEjHMOyJ5JBEx1BZcrDanLfCZw6JMoJIJTL/hu33B1+pw2tF4HMSzkGYAXq/H4idEACpH4/pd8EA3wkD84YM0ZHhzbmpMJpDmXEPtqIJc09aqNd0O2ig3ane5PQ7/uYdMQRjYtMGQkhmwOTvR5FGRTLk/aOo6PR6PEWIUMpG6PDcuNXDMvuP171rtzubhhbrc3UdONW419N3xUooYLofNIEWhPqrOPo1PTSXh0QgDSaklpGoGjLI5Xsb15UoiPj0B4WYL3iQR+HU7O0Wy/MjppiuoTa0zD6x/u/yN/MwJsRhwzGerOlRg50eo47plSc+SgUr6VMs+2FFeo/W5/MRYftYd74m3hlQyV1t61dDYYWUxyZLpcYIIiF+o15UgnBdOVbz6fNrC4LElVR3qUxfblMFEVuQqpkyUsnPR+BsdxlKIR3BoVCGfnozw6ypDTYjJ6A123NWOstpfLpv2HMT/XaFqAdJpQHjmdMna9auSn/jWY8STk5OfyY/fhsaBIG/ae7TOR6ZoRdL8wAy7vLYztJIZks5J6GFglYmZ2RlTRZEQ3/Zh9R7gQAdQW96s6N9+sCVnc2GeYnLwHHPTpJL3X32iqDBPvpVMImBozL7jDdtQn/TEyJUI1/b0l3YbrKPKmsf0FgCk+cRPdi88AIyd4z8iD7avev3sa/B+ZqJQsOWlGbtAnxFnFCBNvQN3G0BQdYMAyGHSyTHB8x4rufnm0TM3G+H9h1ty1keLWHNR2x/3VxfVtxiMo3kLgMWkPZ/mdjlHFZSAynuFPHpvwgRuFjzPg8Vxs5Il3FMXO+q69FZbTVNveWaSOBYsWATbYQXkmMBtRwJMCA5kHITDanO4dAc+a9zx6X/VPjV6Y+3MBUmKiOWovVVj/uLQyRujSnFIZAptTGRgudzY07lojkzBBk4ABs8IDlWeMVVIO/OVpsHUjzs/K1eflwqZPRw2hcpikMTEoUNZYO2z4M3NbaaSop0V77dqzX1w3j+/nLE4K1m8BvXBB1361dvO7Rp1UAdk7utlE51Kwo7vnr+HxSBHI6zHaK9571jDx9XXevQIm5cRLZ2u4MtAP4bv10y7y9bUZuo6U6nRDOd84VTyOxuz1gGvloMw4PWsm96p3HBdZRz1uqCa3febMwGXRjm8PXc3m0GWDafwINlsae8rKT6nLiu71Nl1r/HAyCNWzpdnpSYICqgBdgaI2P9yqP710mqtbizr+U5kYAHBjvDP3XlbQBBNCW6DgU6p7b98TWlUWh0uBzhgeYHdUOXR4dKpct4sYHvJ0AGN/M1tULv9YO2uqoYew1jX8p3JoPLu5sylM6ZELgfkmPc7R6PadGLtjv8dud/xISPj/yWFw9r4bFI+2PUFwMvxRnc09uI3NeayY2eVpWer7q2WD5UMKlw2hfyzebFxs5OEyVFCZjxwx+HgnEKFARpomhN3usHBzN5W22yo//KSTtWkNg2E4nsfCJnvq4y/Oh8nM07mR07Gd2xGf3Ma/4vWI1QIj9M/Af8vwAB/QM/mxJU7KAAAAABJRU5ErkJggg==',
- Fw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNzU4OTc5REYyNjgxMUVGQTBGQUU0QTIwNDIwOTlENSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNzU4OTc5RUYyNjgxMUVGQTBGQUU0QTIwNDIwOTlENSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA3NTg5NzlCRjI2ODExRUZBMEZBRTRBMjA0MjA5OUQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA3NTg5NzlDRjI2ODExRUZBMEZBRTRBMjA0MjA5OUQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+fa+UBAAACMJJREFUeNrsWmlQW9cV1lu0byAWsYjV2AwYCN6CwaltbCgJ48TN5pahrSdxJp24/ZGx23jc/vB0/dU6ncbthEzG00wmTZs0HiZtYselKaVgY4KBgACzI0AsEmgBISGkJ/UcWc9+UMksEq7j4cLlce+775zznXu2+ySi8KWrJ3gPSaPxT2L6znK8DnbWvf9VA5C+fX8FXvWDLZ+SvIeoEWhmTofN+lUHIhTLlA/VzmyC2QRzv0LzPRdQ5AMF2M14PGHdGY/X68W+UQKvl/76wAAn7BsGZp306fVs6+NF2UdsjsXp+tb+xlDNMhD9okfSd0fIJJpPG7TVYd+Z5DhVTFpitJoVFMbHU+NVvhJIIhIIMpJiEtQquXK9OxETKZNv0UTHS8VCIY5T4lSHNeqISlY5qQlRapQh5Arg2UP5LwCzcnbsXHQPCwV0CpiB3cUwM0I+nczeG54wXbxyresyCsCg0QexewIaRRIE7krJo5nFoIyTd+i73GM0ScopilQALx3wSmXvmazz//ygpvXNYBXAimY2qJ+uB8YkSRK0ze4cM5htuj3ZyedcLvdE9+Dk+7EqWbpYKIhxM4yjf8TQyjWdAzszCuRSUewdEPA7Z3caam/2NbqZ20D7Ro0dCqnoEp+mZAuLrhmDyTaQmRL7lIBP5XUNTbwTpZQmKWViH6DRKfO1kHymtWesDzt3LjtNfdNic9xq1A63w7A90HPx0Qpl3tb4Hwa6Nzw+8wrs4jT+r4Mr9CXVelSEJJGiZIIbWp0WhtqwFZpoMmguaDZFeak5+ZmJL4PmZwmCR3GWeW8r3j/w8hh4Tg7aTQhEc9HFTAIN6zIaXDNEnh5gLe3VGf5c09R3Dc0SW7A8syozY20cRewenhoozEuJR8WHEnrFQjoOLnGrWds9ZOi8K0OY8gxqxjzrcAyMGatoCnds43v/qPFNvdFqXW24p1dtj/7dqa7tqjlzfH8FRhuct8w5mmbnnTq/mflMIEmtfAaWr0TbOzJp+ZCjVK9cItREKsSF/sRpv3K9tzasSZNHBPIjMHbq9o2O/qm//6d1uJt7/4l923S7sxJeBUD8IFSZtp6JNz6uu9XAnSzI0WwpK9zqA+MleRSEZiaYDOsCQywxNZIA//MaLfO1mljFU773BzFyDZo2n75rCpcbept6ddM/iI6QKAOJAuY62zsyM819xuX2eICmhvYraco07wNKrsZZ1mpmPjAUQfII0vPWpeZ3X356pysmUpo773Ca/3cdSQyMmUzYgzprABltDqfF6XL1m62OW3/4a/M7uAZ4EmELzVztsb4DoZW515r1Ntwd7hhCO7W8ili+Zs2heYnXQkPhPV6el4HksyEnRv+OeNd4DKDXzxAMjiaJcIIIdYdp3gY10KnX7d85VkiuiYTLNNeUNIlV/Hh9JuczCi87RiDHSjN3fuNgRg6OsceqJOKjBzJystOjohAYO8/21fAKrQIglnaUAcK/h9tRcKz4+XzQNuGrmr25GdFR5fvSzh7ek1yJY7f/TPB0cca505W7X/dX175n2PvL6WJfzj8sZoZ6ZM1GEyuTlu5NyYmLkiaoFCLMDULLnFP/0ed9n3UNmXyh+tvlWd/i0wSvqWviI5aG0exYGJmc/dsWjfLJ50u25XxY06tNjVconj20tTQmUpwGu+u22JzjBpNd36MzD/+reXQEIqfHH9nIsPkMAikpSE4tL0o9AiD2QLSR4LzD6Z6YMM633tKZtIN6qxVBx0VJxKnx8oN4PyFaqj5+JHsX5FsS7nkAIIWJsbQg6ZsIpm/EYumBZyWiWHFCjHRXYqx07/Z0Fa94t4Z3rHRr+81uwz/ertY2Il2gQYSUZ1AjqJ2Ksm05z5VknLt76ltof+9yz8Xam3r9HZsFZsj0FycLK7LSIp9ZSUFvV3eeudygG+TO7d+ZmPid8swTKqUol5273j5Z9et3W2qg4CTcQdLBqvIMAtGoZZJjpRlnSX8k7h+1fnL69fo/cgGza/GalRbxddS+ec7ZdeEv7Rew6mWPyUIBRb9akf8r2Fnp84czKgHMz1EJKCg+X9ei10P/2flTj70I5vgE0vvajvjvfVIf+UX3kNka8hEgf1u0WsAnBSggdhYInEuo5bb82nd3FIsElAzX6adsbc1dBmNjx+RUw5cTkze0U4a6lvFxOGLP4H11lDjv8aLkFPa1EtJCmvj/qfP1F1l+2LdvUanDcp4Z0s+auITf+snBk35/YVCbKAxehSBMQa76SVCyF/uoYW7UZwIwjx21f/uoPHcdMtE8eICzbG/SY2yAQRpIE8e/P7P/RS5P8MsVP3ZZ+dgMWd7t9nirfnzgpYwkZRk7b7Et9l29PvpB1aXOtiXvvPLiYhYWGQbLka5BMxSOjIdaVlTiHEQvoX3B7Z53uJbUeSeOZuWV70s+FiEXZrJzI5O2uhd++vkbrE8G85kVweC2o7ZQs9Xny34H4yXbbbO7RgbGZhuvfTnZqh0wGTsHzWv64ApBHdqdkFT0SNyOdI2iQC7hpywDbnnuR1dfmbO73CiD0++X6wIDDkvefl/GeNIS5NLfnt73mkopzA6Si1zAVDc7v2hYcDKzoPU5p8uzAMqw+xUjEfJJkUTEl4tFlAIEj1FIBamg8YCHOMhLbeeqmi909JusXDlCBsMl9MvvP1pSkBN7VCKi43gb0AC8oUlr/PjshRufBZMhZDDLiZ2qzN2Vnxmdn5YoLxTQpDIUAItuz9zIhO1GW89062/e6/iC9Q2xiKa4fhJWMIGIxkdLhMVg91mpEZqkOFmyVEwrITwr4FkJxHM5BAOB7+DPeBeh3rK5XB673em22h3u2XGjfQz8TPfvlnH96NS8Yy18Qz6cLWcG1a93Ytru/NOV/n7Mp4HWyiR8yh8smHvmCYhW/BDOSCGfZ/zMCW5BihUH1zQCgUDBMe2sVG/9Xw9nKJy/7CF497mtCCaYjT6IbfOj800w98tn2K85bX5F6wFqxMP0TcD/CjAAvKyyBaMfCXcAAAAASUVORK5CYII=',
- Lw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNjUzQjcxMkYyNjgxMUVGOTYyMjkzODI5OTNDM0ZDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNjUzQjcxM0YyNjgxMUVGOTYyMjkzODI5OTNDM0ZDMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI2NTNCNzEwRjI2ODExRUY5NjIyOTM4Mjk5M0MzRkMzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI2NTNCNzExRjI2ODExRUY5NjIyOTM4Mjk5M0MzRkMzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FTuAVwAABixJREFUeNrsWm1sU1UY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',
- xw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5ODUzMDcwMEYyNzkxMUVGODdERTk4MDIxNzVBMkNDQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5ODUzMDcwMUYyNzkxMUVGODdERTk4MDIxNzVBMkNDQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTMwNkZFRjI3OTExRUY4N0RFOTgwMjE3NUEyQ0NCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk4NTMwNkZGRjI3OTExRUY4N0RFOTgwMjE3NUEyQ0NCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+lDaacAAAB4tJREFUeNq0WFtsVNcV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',
- Vw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNUQyMTQ2RkYyNzkxMUVGODQwM0MyMTA0MENFNDBFOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNUQyMTQ3MEYyNzkxMUVGODQwM0MyMTA0MENFNDBFOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE1RDIxNDZERjI3OTExRUY4NDAzQzIxMDQwQ0U0MEU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE1RDIxNDZFRjI3OTExRUY4NDAzQzIxMDQwQ0U0MEU5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hMPtcQAAB2dJREFUeNq0WFtsFFUY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',
- Qw = '/low_altitude_interface/assets/icon-uav-SqkKgs5o.png',
- Xw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQjY3QzlFOUYyQTAxMUVGODNDNTlEN0U0QTUwQUM2OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQjY3QzlFQUYyQTAxMUVGODNDNTlEN0U0QTUwQUM2OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZCNjdDOUU3RjJBMDExRUY4M0M1OUQ3RTRBNTBBQzY5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZCNjdDOUU4RjJBMDExRUY4M0M1OUQ3RTRBNTBBQzY5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+upPRfAAAAXJJREFUeNrMlL8vBFEQx29lE3tZQXFCEAmFUFLpLqJTSCQiEQqhUmhEScMfoNBo/A9Xi4S7CxoRBXqJAhE/7sRFwfOd5Lsxed7ebnGFST7Z926+M7M38/Z5xphMI60p02BLSrgMLoAhV2ClboT8ZQdZcGZ+7RScqP0laHfFxiU8Z+Am8C3fOn03aRMuMWAjppiwSs2a7fMcU74HOeAn9PcFZEFQbygi6ASlFAM9BM2gxZWwHxyAD+5rVvAW2LbnyWcVHIOhaMp9oMaelMAeWFB9mVPTXVS/z1J7pPwD4ihzM+Jo/pT5a9MO3TB91xkuig5RXiV5BE/gm/sJh74gjqiHgdWfLvZFbAzccaqjaiA9VkwQ9bDAqpNWxR0wz3WVGlnPgF1LO05/Wc5hG7/RXvBAXkFeVa/weOhjVgQS2wG6wTMYjCq0cmIVVvoEoXqDN/Cl9iE1Yu9gH+TivhTnHcKnlyT0U15ztyBMI/T+/Y39I8AA56FGFjWH/fMAAAAASUVORK5CYII=',
- Pw = '/low_altitude_interface/assets/slider-bg-CtKEfNTR.png',
- Hw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAA5CAYAAADgHtGAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowREM3RjIzNEYyNkExMUVGODVFMkMzODA4OTY2RDA5NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowREM3RjIzNUYyNkExMUVGODVFMkMzODA4OTY2RDA5NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBEQzdGMjMyRjI2QTExRUY4NUUyQzM4MDg5NjZEMDk1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBEQzdGMjMzRjI2QTExRUY4NUUyQzM4MDg5NjZEMDk1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+zngZkAAAAgBJREFUeNq0lb9LHEEUx3f2xh9XnKIeqWKR4kDwzxDSJlWagPGKNLFNm15QENKnsFUL/TcUDEZCIAkaJSRCNJrTO3O7s7t+3rlXeO7FfZB98OXNznzn+968+bEmSRJPbGnTGe/GTAoxGUxeP7EdkhFySvRLpdK0MeYl7SlwBjajKFqHEzIhNosbYYdorX2Of8vACn4XjDOxjj+M4/gZaPkij2INtwxxFqVVcAS2wRz9g77vv5EshIyAeQFRSCeDA7Y2WbXzEyN2hr4xFBfg1LtksUfgAxh6MOI9rpS9p9WKJ7mXIR/jA6KPdcn7Eg64xpX3vtHyArDNd5uoA/hvRLkQciIp4EfBRaPldnY+/Tg7+Hm5xvcp+Vbx74gQWpEl14+EkdINS9gQc859R/Wc4b/0bYmonxYcfrRHhC+0fzMYYFLnE9pfwWWHLMpScMmXznMm/GJi0Gw2/9BugDZjcUdUdrAXr5Y/74GHvf3datwyBlxWfyaZhUVJ94TdR8ZCJnh5yVF6PPMp585ZrVzYAp0mjSA3WS6oZgdDjXL+nFFuazYl1FRDVbp2xgb2Lx15J/+/dKoFpjc6/w7mPqLwgtwLVNdZk7PTXivVTblj9h83pZjtDoo5/OSc+XzZPjmr0nDFPAWq91l7Nlxh/xSnKZ1KOVJtStbz1e9HX8rqvxZgAIVWgHNFK5i/AAAAAElFTkSuQmCC',
- Kw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAABrCAYAAAChWHh8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxODE5RTkwNUYyNkExMUVGQjE0QUEzNjM4MkU0QUQ3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxODE5RTkwNkYyNkExMUVGQjE0QUEzNjM4MkU0QUQ3MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4MTlFOTAzRjI2QTExRUZCMTRBQTM2MzgyRTRBRDczIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4MTlFOTA0RjI2QTExRUZCMTRBQTM2MzgyRTRBRDczIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vHKgCgAAAmlJREFUeNrMV79LHEEU3h9TbKKHh6gIolgJaQKp8jekChb5B1LaiCiWgoVdIJ3Y2FxjF5CUaULQ3ggWMU0wUbngXcKBp+ftzPi9c0+OZFfmYzOQhce8mfnm8d6b783MhtbaoP+92U3DTJX2fmLlperpoYAzUBTH8UgYhvPQn0B+Y+691voIusECE2WLBfgcwEPorwDSkBn0PyilNjAWw2CkxCqA45h4B8AaLH3GZAJJMVbD3BYWnKRpuiWWMRa+RvsRwEPosxNVNT+UqGdY/AiyjrllwfXdeIrBfbSPJ6vxi7FKsDg1GqyiPwwDX9BWJJ4+uJ5Fb250cKZNYDrd4CxzRYI/hbHrHliiRjMKaTVa6d7ewXnj+MflNvq/gB1Du2OM6SjBQvkURVEMSaB/73a7N5CTJEkuAB6BsZrgIkm4pEoWYOAbFrSga4CbYhn6Efz+KS72fTZY0MFEHe050qTb7XYTegNylW2KFX//koW3x18h03+OqyDns4OEGfhywQhK541HjOVcsAQ0SNEHwXCDtuzsszs4c8M6pa7IclGe3cFCLNays8+WyQbFDXNXeh64YRhu6LwYi8DW2Q2x7Bxg0Q4WBpi3MYWpY/JMZcPk1WH5GpRzmS1Y64Wi3KZQ3PDmBkdR5+0WN1giWdcTSTPc8JRninW0G0xZ5eZZlSY/dSJRfKYoSuX5Pymr7DXmh3VcWVH3IFXdzq8C6oaFZY/bXbqs/s2dQl2aFOuYG5Y+Rctxo7xl9qlGnUiUG9zD1c97w+9/ircXI/fYZsCBt4veUG9+b9mwfsqKdoPKxubSnHMNlv9JvxVgAJE1zFXMgHLcAAAAAElFTkSuQmCC',
- qw =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAA5CAYAAADgHtGAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRUY4QTExRUYyNkExMUVGODI2QUVFRUQ4MjVDMDk2MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRUY4QTExRkYyNkExMUVGODI2QUVFRUQ4MjVDMDk2MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRjhBMTFDRjI2QTExRUY4MjZBRUVFRDgyNUMwOTYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFFRjhBMTFERjI2QTExRUY4MjZBRUVFRDgyNUMwOTYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+2p6cCQAAAgRJREFUeNq0lb9LHEEUx2d35wQlCiae2AQC8R/IfyBYhwRSB4JglZQp/QcEC1NbpEklWlikU8s0B0mKhHgELPwVUQ/FO7nbm93ZfN4xJ0KOZIbLDrx7s2++73vf92Z2NiqKQslY2coiXN9kFM7U22e65yMBA4yjKKokSfKC2HNsEttjbS3P8+/MrSQk954sxYwxgJsEnwL4iK9h0xC8Y+3YWvvtU90qLewElvAVWF4BHmMu8ToEuyS8x9dY24udxgWylwFOPpjQ8w+n9JuRip4FcEFsnYSXgtNk3WeSAz7FP54aV4tJrGYopX3UUAfEvmJzUmBM5jX+jOwRfHrRVPVmW7Wu2+oLz5nrzE/50TAaNK9hj/jbw/3Dxna32x2tVqufWReiBMINaaNoLkj4gG/AnhpjzrMsu+H5BIIUvwPJj54MB25iNcCnAFssdpifw/iL+b7UJH2O3e5YFjokNNI0vYS9w/MV1hLdYKxy/exvZ29LX69aKcoQ6xd3O2L155CkfEB8MJjhD6Y4PzCs1lsGrCIj82X2lwHQ3jkT/yzQhrbODN0NPazmIrTALERzELMJ0WzK2UHvgyRg2LP/r/lvfdal9Xm4g+Rk+G9KSJ/DjijsJmS781KYi9DWBd11/vdGyF1XlPN2O+Y85Ih6fybCvlblgF2BtpRT138PvTUPBP8WYAAi4l367JvB4QAAAABJRU5ErkJggg==',
- _w =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAABzCAYAAABO3fiKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyODZDMUYyM0YyNkExMUVGQjQ0QTlBRjU2QzAzNjc0MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyODZDMUYyNEYyNkExMUVGQjQ0QTlBRjU2QzAzNjc0MSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI4NkMxRjIxRjI2QTExRUZCNDRBOUFGNTZDMDM2NzQxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI4NkMxRjIyRjI2QTExRUZCNDRBOUFGNTZDMDM2NzQxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jKOpdgAAAcxJREFUeNrsl79KQzEUxk/SCtVi/YODizi6SBF0Eze3Igg+g/gIOvgCPoJOTk6uTioOCjqom5OLFnXR1oKtba9t4ncgt1yqFIPE5qqB371pOPfLyZebc6ko71K0Cfq8ab4kI0HS/F4AM6AJDsGx6Wtpgvk+Ds7AKkiAfrAJeO4BFhRIg1V7wCk4Ajugz4jUwDp4Bsuh8rxR48AxOTydE5mJOfRHwQZY5H6YcxacgF45mJ2SI7NrpFXQqORXqFl9xPg5x4TKJRAApYNikZq1OjXKBVJBncdAAZRD5QMwyQ/o17trmd+6Uor2YdiTceoWXErj4Y3JNwMepKAKuOe+Ud4G1VCZBy7AEEghsAYzS2Z6dqTCotHgN8CLSQhBdUz5YoKVmV0lI1uqzJ13q8EPGIFWk53ehfbWKVg7C/7QkumltvE90VpsOoVLTncxZ2VrnQc+K2dpWCkrpwv0xI3/NChSleK23cppGh6cbo82RbeHdw4WX18gOVFWPllHNm50MQ1tEyx+4AxauaEc+Kxt3g3hS0VyV2TcHSvLWqdtchY+fIDcFvNf/9G0Kl/kpHzFcVPi+NdDO3WDYqOsbdwQ9j6THzuo/4Ly94LfBRgAe0QWmW8vFSgAAAAASUVORK5CYII=',
- $w =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAA5CAYAAADgHtGAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyRjE1M0VCQ0YyNkExMUVGOTJDQTlCNTFGN0JFQzZENyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRjE1M0VCREYyNkExMUVGOTJDQTlCNTFGN0JFQzZENyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjJGMTUzRUJBRjI2QTExRUY5MkNBOUI1MUY3QkVDNkQ3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjJGMTUzRUJCRjI2QTExRUY5MkNBOUI1MUY3QkVDNkQ3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7Y9N4gAAAhJJREFUeNq0VUsvBEEQnkeLjFfsRoTETdxcHHHxA4SLEOLgysnBT5AQBImIq8TFRfADxMlZ4uAVEoR4s8uyO9vdM74auwlrWqbDdlKpnnp8/VVN14zp+75Ba2ZTmFCW8blo7+f23lg3C/ZWLpA0wxqE7EDuICeQedu2a+G3A4TpDU4oNhwT0J04acrzvAPTNKssyxqArR22DinlNaMMZLdC9cPQA4eDfRyaI2kBvgwSJ2EbouOxN/vgXIGwCoc1N9ax8foY64WvBgnLdCJOYfmC4pBzSEms3GgrLTFaKh2jC8+lAEhBJwNaueA9SBnEvX8xti4ejPRt0ljHM1EgWvs4IUHBSPZXiToc75msODw9u0rcPqa2YbvH8dXwL0G8oEAUdolC1uCIAeFRCOFyzq8dx0kSBdhuCNTKNRzx8gLGI0JDMHdd94n2BATUDOK8gHM+AcZ3yDMkm06nX6HfYOcUGFRGr7tQRuaOd4dnjxoK7flufFtwSBTrF9pDg7FEmFEVLL/cut+DQYFrIfv5ix4hmOsUGEqDKVonwgpk/1Egj4xMI6XT56wWjcitU3XjX2hkdV63COOs1TrVG3R1OIvInGm6I/eZWhcCrETmOsi8OGNFBf758qs4Cx3O1Oci0NCaQdVHRlmgFrLWpESmQdOte5EiI8s/f59VNKRO62TRfkBaffYiX1EqcHG06QeNDwEGAKvTZjUj0zIvAAAAAElFTkSuQmCC',
- eR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTI4QzVFRjA0QTExMUYwQjBCREFFMUE2RkE3RDRFOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTI4QzVGMDA0QTExMUYwQjBCREFFMUE2RkE3RDRFOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRFMjhDNUVEMDRBMTExRjBCMEJEQUUxQTZGQTdENEU4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRFMjhDNUVFMDRBMTExRjBCMEJEQUUxQTZGQTdENEU4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+AsWZSwAAAdVJREFUeNrklUsoRGEUgO9IWUhZkQUhrBQpGyRJmtSERLIyysqKhZomFkohCwsWFhoxpbzKmM2Ux8IzxFpmLIg8FhINRa7vrzN1m0xzb5mFTH2dx/z/Of895/z3Jum6riWSJC3Bv7+fIDnegvV9rRnRB1UG9xFMOCq0hXj7baoRMQKnIfahGO5gBS4gFxohD4JQSaIHSwkInooIQaYKRgDfD2tqEJvwrpLFShKrRLsSPJ2Nz1KmcciHK3Dj9+JPQf+AE8gx1WQ2VSNKoUWCj6KvwgvMwCPM45/i/0/pTTZ2049Hjb4Yvj19C8Ki14MOzqg1beJ3iH0D52YvmqptpObTqrGc1MMJq2AZ7NiL+E9hTtZ5ocjsPbBJgzWZmE3Rh1TZYEzsgOqR6EGrFy1yGtXQWtHd0oNusRvg3nAQ0xdtWzZrEixAWeooywb6gWFES8Ah69rh0myCQdghSCtBl5BO7GsJPIm4hTXo5H8/vjIZ3w4rF+1MRrWAICHxeRBh7B7DOtWDJzW6+DOs9MAuk/QlgfzqxKLPwnBkysFvKJX5d1HUE5Uj3qAXumCEE7t+7XVNsGPEKxTKDXf92utaniALMQD9BD+08j0wVaL//clMeIJvAQYAy8QgaR4LlwMAAAAASUVORK5CYII=',
- tR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFQzQ0QTdGMDA0QTAxMUYwODNEMEJGMUY5OEQzOTRCNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFQzQ0QTdGMTA0QTAxMUYwODNEMEJGMUY5OEQzOTRCNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkVDNDRBN0VFMDRBMDExRjA4M0QwQkYxRjk4RDM5NEI3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkVDNDRBN0VGMDRBMDExRjA4M0QwQkYxRjk4RDM5NEI3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6f1AcgAAAZhJREFUeNpi+v//PwMtMRMDjcHQt4AFl8TmYwzhQGoCEHMD8R8gFgbi5UD8GojzgfgTEP8D4vtAXO1rxbCFaB8ADQeJzwViCSDmBeLfQAP+A2mQpYFA9j+oxSA5PZAWoB4pUoLIBGoADByB0iBLF0HZl9D0hJMSRJZo/GcgAujyFCSxB1DXw4AxKT5wRePfhAbdBSDeBRU7i6bGligLgAYwAilrNOF7UFofiB2h7FtoauSAelWI8YEWEAugiV2H0qCI/ogUROhAnxgL3ND4X4Bhfx/KZkSK/LtY9FoRYwF6WD6ABh0zlM8BjfDXSL6BAXtiLDBB4z+BGvgX6kLk+LmMplYb6BAOnBYAJUHJThZN02OoHDuQeg5KskA2K1rkMyD5Th+fD1yw+Og2lFaEFgv3oTkcBB4RSuLoFphj0QDLsaxoLsVlgTU+CyyxaIAlR3YkMRj7Phb1OvgsEMWi4QmU5kUS44HSV7Col8FnQSnUVc+g+AAw9XxFkv8MxYzQlPUCSJ1EUv8UiCchG8gIqjdHq8wBtQAgwAAAaKPhlF14LwAAAABJRU5ErkJggg==',
- nR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDRUM3MzY3RTA0QTExMUYwQkY3MkMwRjhCMjc1MUQ3MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDRUM3MzY3RjA0QTExMUYwQkY3MkMwRjhCMjc1MUQ3MSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNFQzczNjdDMDRBMTExRjBCRjcyQzBGOEIyNzUxRDcxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNFQzczNjdEMDRBMTExRjBCRjcyQzBGOEIyNzUxRDcxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+H98iVwAAAWFJREFUeNpi/P//PwMtAeOoBTSxYPMxBh0gxeNrxXCCkFomMh1WC8QriVFIrgXeQCwH9Ak/RRYADZgKxEVoYilAihvKrafUB1lAnI4mVobELgRayE2WBUCNYVCmGpAtCxUzA1KqaEoTyfVBKRIb5osKLOqKSE6mQJdqAqlrSEL3gdgViK8CMTsWc2yBSfYIKT7IR+MrArEfEO8gwrf4fQB0PTOQ+gLEHOgeA+K1QLwASQzky5dA7AjEIkBfvCXGB9VYDAcBXyD+CcSXkMRWAHE3lD2V2CAqwxNnekC8FMq+BcQSQFwM9Uk40PdceC0AKghCykTYQBIQn4OyzwOxOhA7A/FpqFgqIR+UEch44kAsDcQ5QCwMxCZQcVC8fYYGL3YLoJnInIhyaB4QL4OyYWWRPTQRiALN8UdWzILETgDib0D8l4AFvNDSlA2IP0DFRKCp6TUQZwLxxtEqc/BYABBgAHBXZySmLq53AAAAAElFTkSuQmCC',
- iR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMUFEMjQ0MjA0QTAxMUYwQkIzOTg1Mzk4NEE1MDhENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMUFEMjQ0MzA0QTAxMUYwQkIzOTg1Mzk4NEE1MDhENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkMxQUQyNDQwMDRBMDExRjBCQjM5ODUzOTg0QTUwOEQ0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkMxQUQyNDQxMDRBMDExRjBCQjM5ODUzOTg0QTUwOEQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+shX4ZwAAAcVJREFUeNrslc8rw2Ecx/dlRf4BOThQiIObYmWhlBi1XYgWDpwopfzYHXHYRVEctMKBNUUSOWBZmZOQkHB1oSgO8vV69FHC9mzTlPLUq/fz2fM8n8/z4/P9zDBN05LMlmJJcvv7Aay6CSshSwHSChWQDwacwhb46m1v/YjNiPbIOB9GBjV7GCGIJ+4AOA8gTjEXYA5OwJSTNIFbxpcI4oo5AM5HkT4xHSxejbCJSmQN0sDLvF5tABblIWdiVrNoU/NGJUhYTDvzg7os6hFdfHeOExdsfHBqh23VZ84+ot7qGmpiOcEFkguZLL7BTqf/KMNdMAEPkKGuhzm1cWURDl8kFZvhHtR7ZENA0lWlpUpd9S51MA5+eJIThXVXZIjOq3hQBMUsbENvxbkb24GOQTeo69oTtB/aAGRJ8FRYx9mVjKnUdGLPym77OfE5XRu0w+UXb+qKfsryrukBE3yfx6zfpF26ZNIdBNnlsSZNS5EhMb2xFLtnaIBJOMSBI4rzKrl/1WbYzEE8pWIHKRfTL49+JKWiEBqhRcbVSe2JFLsppENT7KZx3plQNZUgNsn/MsiRn1VWhaRchxIu1/9/mb8S4FWAAQDBdeHDEVv+sgAAAABJRU5ErkJggg==',
- sR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBMkZBQ0M3MDA0QTExMUYwQTRFQkJBQkJENDM3QTY4OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBMkZBQ0M3MTA0QTExMUYwQTRFQkJBQkJENDM3QTY4OCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkEyRkFDQzZFMDRBMTExRjBBNEVCQkFCQkQ0MzdBNjg4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkEyRkFDQzZGMDRBMTExRjBBNEVCQkFCQkQ0MzdBNjg4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+l6bRzgAAAe9JREFUeNrs1U8o5GEcx/EZDVlj/RlMWMPaYonWwUUoUv6kpEQcsAeKgwOOcnCS4bAu3OSi1G5JlIOryMVBaKPdkj8lf1uSsIz3U5+DNIxEDky9ep5nPL/n+3y/z/MzVo/HY3nJj5/lhT9vKMDknKUS82h59gAsWkfThWPUM257tgAsVkxjQxPO0Yp/fB/75AA8/A1xGjpgFqtRoFJkIuJJAVi4gWYA5fSTab9gDyO4wDiW4HpMANudxRNo+jEF8wYWYhX7aEcwGhGNGTOPZ0wmZSZoWbZlwVcG6VrETLzEV1QjBoOm9uhTP5TF7bQm4zy4Gaf6ChCK/9rxCZLwEyuohBPdKFDQDwr6C+Eo8RUgRgFC1DdB8nXQY1jXjk0JPyFHpfTHoTb4YACnHjjS5EWdiRVVOtgOnd0fZGFH61zjo68ADgUIw1/EoxcpmMAGhhTApTOzawOPyiBCZbHr7psb1IlZ5CIR31XGUdX9TBkfeHs3bHfGkbrr60o3Q9+Zg1xGFIZV+wpt0KEM7V7W85rBnuoboLR/cL/dKkOWbtAkanXbotQeegtgvf2Lxj3epAnSm3qFaXxGs6aY65qmvpl7it96DwJNKdlM0UMl2tJNMg+soefW346VmVNlcemf367G2+rfn8H7T+arBLgRYADsIoVIgIjHNAAAAABJRU5ErkJggg==',
- oR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpENURFMjI4NzA0QTAxMUYwQkQxNkY5QzYwMDczMTc3NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENURFMjI4ODA0QTAxMUYwQkQxNkY5QzYwMDczMTc3NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ1REUyMjg1MDRBMDExRjBCRDE2RjlDNjAwNzMxNzc1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ1REUyMjg2MDRBMDExRjBCRDE2RjlDNjAwNzMxNzc1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6VpyoQAAAjFJREFUeNrs1V9IU1EcwPHNTRQTg/mgD0YxGFNCE2TSJBoaSCYiiCOTAqXpS/6J9CGhJfiyFKqBESENy4eEfNEJPUQYUYyC+abUgxQhSgXlnwftH6zvD34PI7a4Vwh82ODD+e3s3N+555zfvbMmEgnL//xYMxPsaYL5mMVK8xolaMEYNptqLM38tkT8BkO4hwh6UCtjGfPknxOQwE6zgmKcwm0cRCXe4gua8QiTmtwjfSSP/n2zWSlWNYvDOIQwvnKhm3YVMeJq2nU8RLkmd6RKnm6CRgTQj10ubGBVO8QzuEAsSx6j/wHtIAaIN9KdgT1Nfyva8EITXsM4fuOKTEa/l/aHriDtJ9UKOnAax1CHEUxgC37M6Xa9xxm5ESY7Z7aKwrpFOXqHr3AceVjAUd3KnyhEEEfYqo9GVmBh4GUNZY/ParIiTe5ElZZunLHXdWy70S2SFTg03CFBn979nK5IzmYKLnxjbK2OXTNzyIv4QPIwCe4TX0Q2bqEXBejCJ90eST5taAUknNb9dBJLabYRW7VM/Ro/hw0VKJXngf5fhg5Zy7Ib+QhxYS59z+ThI3YRyyvERuzRsVeJR82UqXxO4il8JHkn1aPJPxNvw0vs1rFus8/BJZzXAy2Tg8QJEm7SRpmonla244BMhE5+8xuegAR3aW7qQbv4XkP7XStnOOnJljetT8v1Mf1BU/8HXBCS94xWThwvsQy5gRu6VXfkmUmqtADfI5m/zP01wR8BBgB+MMizqVuf/wAAAABJRU5ErkJggg==',
- aR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyRkM0QTRFM0YyNzkxMUVGQjcwREIzOUI0MDM4RjBGQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRkM0QTRFNEYyNzkxMUVGQjcwREIzOUI0MDM4RjBGQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjJGQzRBNEUxRjI3OTExRUZCNzBEQjM5QjQwMzhGMEZCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjJGQzRBNEUyRjI3OTExRUZCNzBEQjM5QjQwMzhGMEZCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+F56cIgAAAWlJREFUeNpi/P//PwMtARMDjcHQt4AFm+DmYwxCQGoOEGsA8TYgrvS1YvhNNQuAYDUQO0HZmkB8H2gpyCJzIP4LxIxADEodj4EWnyDHAic0vi4Q8wNxKxbfngJSHkCL3pNiwX4gdkTiXwbinUD8EE2dDhBXQNUbkGJBOBDPB2IlIN4LxLOgcXAHiw++A6lGIG0JVHOcKAuACl8DKR8i43EzyAJogjhOi2Q6GUrvJCWIYN4HRW4BNCUxQ1MOCPyD8s2g/Eagr5+RZAHQcFAk7yPg+vtA3A40fDYuBYzYCjug4aCg+wpN72ZAAy5RNSdDvc4BxDmUGI4vkr9AaUkCcVQNxA341DDiqg+AGm8BKVUgTgLiU9CIRQfXoPRMIM4H+vYnKanIFYiPAfE8IkIiHYgVgdidaAuArnkI9IUckBkPxMpoyZQByq6Esp8C8SSSgoioLHyMYSOQkgD5FuigT1S3YLROpgoACDAARqVi+Y6Zd/EAAAAASUVORK5CYII=',
- rR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQUE2Nzk3MTA0OUYxMUYwODRCN0U5ODJBMUM5RTU4NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQUE2Nzk3MjA0OUYxMUYwODRCN0U5ODJBMUM5RTU4NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZBQTY3OTZGMDQ5RjExRjA4NEI3RTk4MkExQzlFNTg2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZBQTY3OTcwMDQ5RjExRjA4NEI3RTk4MkExQzlFNTg2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+qmBugwAAAe9JREFUeNrslVsopGEYx2fWMUY2wuaKksONUm4cQikl3KyIrEMuXLpUXCApJRk37oSQbVNbiHW6IJmr3axSpBR7IcdyY8hp/J56tqZpZr6Pmi21X/36z7zzf57ne97TWF0ulyWQzwdLgJ/3XyDYyDDvsBQg7ZAD4WCFO/gF/RW5lqU3d0DyUWQDPkEvlEMpdEEE/MAz4i+H1dcuInAfSYUs3nLHhydMu7nAE2+6AwInkTSI9JVcn3S4hFhipkwVwJiNfIFkkt/6mb5q5Dc061rWMVZmZpEH4ZDkRwTI7yFSSKejBB7hI0xDD7/Na0EHMgQLRgWk7W8ENKCyQDfwHWTaqtx89fATX5P6FqHVzBpEQx88QTdkkqTDI/lfX6V0AVFg1y1sWEC6csrOgCTVAy++UDiBBLhiqpze8nkrIG9RRsAKOocOo6sennvG7TDG5zX0K13maVeGBbahRT/PEliDXkMnFEGxLCbj3erZU5X5PzM8aAQWIus6BTFwClu8Zb6bxyYFGWvT7xG6GaoZmzE8yQRMILUyt9INQXMGV4qs0zG+7NdcFedIHAQR+OzDk4hs6l1lw+cyXUATjCONsKwHaxekWIacXNkMIAesiOQPr7rs3Ip81us6Rc+GPEHwBwZIPPmm2/T/X+Y/K/AiwAD8A6W3pVuneQAAAABJRU5ErkJggg==',
- lR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFODg5MzZGRDA0OUYxMUYwQUQ1REIwODkzMDY4MTBCMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFODg5MzZGRTA0OUYxMUYwQUQ1REIwODkzMDY4MTBCMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU4ODkzNkZCMDQ5RjExRjBBRDVEQjA4OTMwNjgxMEIyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU4ODkzNkZDMDQ5RjExRjBBRDVEQjA4OTMwNjgxMEIyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EFX7LwAAAbRJREFUeNrslU8oREEcx9/blIs4apNN688eSORA3OQgWclByomDXNyUxcFFWeWobC6kPSmSdaVcRKn17yJbav3P0UGhXZ9Xv1fTa/ftaNukTH36vZn5zfc3b+Y3M2Y6nTYKWTxGgcvfD1CUyyF2ZDRgBqEbApCCW+gIthvveQVAPIyZytBVoSPuGgDxXUxQqi+wApewBBfiU415dAvmySK+oIhb352QhBYogyg+xdgEDP3oDxjox4Skas12Dk6gWXE7hE8YgQ0ZV4d542+ecv3BmNgHCZBwiH8h8gopWKfeivg29hpmdfagV+wy9IBP6bOCriFojeuHUagCr/S36QSoFRuX1LTLHTP2yXJsYQakfR524BQq8zlo6mS6lO8SQTtNb6Aemux0lOJl5s/YDyhV2uPKHt3rBNiTABOSlkllH8odvpZgDM6lvq+zRKv2aYVJqJFZOssZ+OWk22sfcTqZmd4DOWgh5aBFJUMC0mal5DEMw4y0hUmCaa0AWa6KiLInjTCuLFkM8b5MOqbbi+Zy2allEfFQtk4z15OpXNedymZbG38Am4hfuY03/9/kXw/wLcAAhrl8BEMfNVoAAAAASUVORK5CYII=',
- cR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1MDQyQzU4RDA0QTAxMUYwQjgwRURBQ0VFMUM2REEzRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1MDQyQzU4RTA0QTAxMUYwQjgwRURBQ0VFMUM2REEzRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUwNDJDNThCMDRBMDExRjBCODBFREFDRUUxQzZEQTNFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjUwNDJDNThDMDRBMDExRjBCODBFREFDRUUxQzZEQTNFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+mgcXdgAAAW9JREFUeNpi/P//PwMtARMDjcHQt4CFVA2bjzHwA6nJQJzha8XwjSoWAA3NB1J/gAZOBdJLgdgbiPmAOICQXkZCqQhouCGQOgfErkAsDcQLkKRrgJa2kh0HQMPVgNRRIM4EGrQHSE9DU1IBVKNFSSQ7AzEnEM+B8q+hyV8G4puUWPAGSrMBXZoIpE3Q5C2BuICsOAAaCArvJ0DsBsT3gPgOHnPcgUG4i2gfAA1XAlJXgLgYqHE3kD5LwKdrgHrUSQkiAWjwPIbyNxCwYC0QPyTFgttArAjEckCXgSLZloAFNkDMS4oFr4B4NTB4eoH0DSBWImCBChCfBzqGjaAFQEWg9P4XaHgkkL0C5AsiSxFpaFARLCoWAbEflL0MiPuA+CcoxQExM7R4qAHiRpB7oGIMUHl+kosKqK+mgyIc6Ks2IBuU+UC+tAfyD1GruM4A4iIoWxFKK1OzuI4B4k9Q9gtoBnxKjEbG0Tp5wC0ACDAAzV9fQgXi5YcAAAAASUVORK5CYII=',
- uR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3QjVGRTJBRkZBMzYxMUVGQTQ4OUQ5NTUzQjlDMzYxMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3QjVGRTJCMEZBMzYxMUVGQTQ4OUQ5NTUzQjlDMzYxMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdCNUZFMkFERkEzNjExRUZBNDg5RDk1NTNCOUMzNjEyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdCNUZFMkFFRkEzNjExRUZBNDg5RDk1NTNCOUMzNjEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1TcbjAAAAkRJREFUeNrslTtoFkEUhXeTX4yKID4RFXw1ghpQRAg2Fj4a7UQiFoJgq6VgY5VORAsbLcQgQgqbP5DEziJiEQULQTFCwEfU+A5GxWTX78D5YTLsw+bvHDjcPbN37p29c+5smud50s7RkbR5tD1BIyTNB0mn7JGeZC7kdSP2b3GNtOgMcFyF+Y3jd3NtJINn5vryDvis+VLMIviHONa8BDiexyj4FiUAL8EzFt4q2jn+vZgdYDNYAp6Dz/j3FZaIMQG0qwVgGkyCrw52AtNrvwGC9GO/2Ue7XAHemyd1JXriRV1euNgIxwz4CT6BX659d6WKCJz68Q3odtCPThSPhWDK73aC11GMQpm2eL/tQXa1DbsMXAE3wHVwVXN+t9++d4tiNgrKI4cB0x/+dJ3HuRKVSgwntcZrk8oEOhfr+E4g0TzQut7ngVRVzttlfVOUII+aaFZBgcrUBX/H80qsziaL1mZ1JdJOMwJIpkeBGmiUuRfMDfN8DagnmvDj2D/gsMs0qMZkPq+UKQ6nMH1umpvgntU0DobAK3DGB63GVKLTVtJFklyu6uS1mLfgKY7bg3lpfTnY445VAjXeavym7DOG2Q02MTdRVqIZf/Y6FhzCccTzF8Bj+Jj5fd4PBcEPYDb6DKbrSrQX89BUrd+0oibd1eE45hKtMd9H0tGqEnVKjtgN0LNGo+a2nvN5XJJkWzHKEszTvOd2YbaC9e5oXQVffJ2M4/so+p+krWu88Atiyf7LD8dNl8Y/oNLb9P9PPxx/BRgAd9LrGXv+r2oAAAAASUVORK5CYII=',
- dR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCODhGNzI0RDA0QTExMUYwQjE3ODg4Nzc4M0MyMUMzMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCODhGNzI0RTA0QTExMUYwQjE3ODg4Nzc4M0MyMUMzMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4OEY3MjRCMDRBMTExRjBCMTc4ODg3NzgzQzIxQzMwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI4OEY3MjRDMDRBMTExRjBCMTc4ODg3NzgzQzIxQzMwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+GVKT4wAAATpJREFUeNpi/P//PwMtARMDjcHQt4CFVA2bjzGoAqlJQGwNxA+AON/XimE/NX1gAMQeQMwLxLpAHEjtIPqMxn9JUhABg+A8kDoNxFOAXr9EizjQhwZDKtCyI0B6HhBvAlr2llqp6BkS2wZqwV2gZWK0TKb8QMwJZf+nVT74C6XfUCsfvAPiA0D8B4h/A+PgCTCY/IBsXyD+juQjZnJ9sA+Ij0GT5Xeg4cuA9FpoIviOpO4FuT5gA+I8IJZDE78CxEZAfB2Ie4H4LdByQ5BPgb68TIoFIN89R7MAFFzs0GC5DcTGoOQMNQfkKy5qFnYgi1SQHPmH2qUpIxD/ROJ/JzYOhJHSviAW9XxI8r+Q5ESIteAuEMsA8VMg/gHEokiZ6y80Xt4D8RNQ8gXiD1D511i9OVonD7gFAAEGAN03TNqMKOapAAAAAElFTkSuQmCC',
- pR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxODIyNEQ3ODA0QTAxMUYwOTlDRjgxQUE2MTEzQjA3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxODIyNEQ3OTA0QTAxMUYwOTlDRjgxQUE2MTEzQjA3OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4MjI0RDc2MDRBMDExRjA5OUNGODFBQTYxMTNCMDc5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4MjI0RDc3MDRBMDExRjA5OUNGODFBQTYxMTNCMDc5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+N7SMlAAAAYFJREFUeNrslU0oRFEUx98gSSkf2VsikYXyURaEKErW06ysZ6GkJCvJjh0bxW4iypRsLHw0WSlpbHysFJqFUKaE53frTN00973urbdQXv06c8599/zvOe/eOzHf970onxIv4ufvC5QFDaYzXjtmBZogB0uj3d6GjUDM9JFJXo95LFJlL2SgFd4QvHFt0ZRhfB7q4ByuWciyq8CQId4v807FTyIy4CJQHjD2AlnNH3MRuDLEc/Q9j23RYl8uAquG+IzYHi12aS3AKg8xO7/CWeLr9DylxdRO27Leptp2VUJ9kCd5JX6S34Wd8w01xF+dTjLJGjDV4pbiq7bsQ0qbP2h90EjUjJmGRJE5u1LBg5zyYbiAOSpJh1ZA8gXZggnDosbhCCZJOCJibbDH3NnACnhhExO3uGrOEOli3kHhYOLHgiqIW16WnSRXCbfFfwpr0YmlwK36+KAqmIDGsOta9XQROqAWqqBCxj7gHZ7hDo5hjZZ8Yu8F+3Pw/5cZucCPAAMA+XhrhLwXB4MAAAAASUVORK5CYII=',
- AR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOUQyRjdFOTA0OUYxMUYwOEJDOUNGNTIzNDlGQUI0QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOUQyRjdFQTA0OUYxMUYwOEJDOUNGNTIzNDlGQUI0QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5RDJGN0U3MDQ5RjExRjA4QkM5Q0Y1MjM0OUZBQjRCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ5RDJGN0U4MDQ5RjExRjA4QkM5Q0Y1MjM0OUZBQjRCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k4hEqQAAAg9JREFUeNrslU9IVGEQwN+zlfXUrhQE4ZI3PaQguhAdAttAow3p1EKrF/Eg6cHo0lnolIZEELUguAm1kEFpLUJ/1fUfXkq9BbVgLWRF4goW+foNzMI7+HbfChsEPvgxb+bNfDPf7HzfmpZlGaV8yowSP/9/Ak8hh6cp4wCiH0Lgg9+wA58hdv6k8ShfvJnvR2bxc4j78BHGIQnrUA/y7SwskiTsuIgk2I0nM1YULLjq5KN+ryDj9N3jUHkNIg4RqnuoNmlPFxzSqsfU/Qcc4XscW7urFuG8hPiS2zq6BN6GZfgJVfAJAvAOeuAbtBEzkTcBix1FzOMYUL1Fe38RW0JtBzWRgc1UWwzRgN5YaExvgtem39DKEiwyDK/RJdGA7Ag9qn4JnbKCY3oaDhO4isyC/B5h9GvIEzknErZiS/ParZO2Ar/cHLRn0iLo1MBtSDsUY+qZkOeP25P8Ab5S4SwM6dy/5T2IfAlr0Ku+V+C5vtdCuZsWPYbLbN/LolK9tOYNejN6yDYMcoJ92K6r6QJsFkxAwHuCZeTuQQf6A52sSeQLZAaCOgjHbaGyq4jbc9AkhwlOkWBKbccQfeCHOex3bP7Tups613cRQbLYIEQJHM1zXyV18irxyxZ72ckk3YIUyJWxAFtQDWfgkg6B7HSj6NtUk/j1UEnbKmwj+R1GWPjunq/r/b/Mf5LgrwADAAcQ+3h5YZPyAAAAAElFTkSuQmCC',
- gR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBMjcxRTQxRTA0QTAxMUYwQjYwMUIyRDcxODI5RUVFQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBMjcxRTQxRjA0QTAxMUYwQjYwMUIyRDcxODI5RUVFQSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkEyNzFFNDFDMDRBMDExRjBCNjAxQjJENzE4MjlFRUVBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkEyNzFFNDFEMDRBMDExRjBCNjAxQjJENzE4MjlFRUVBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+0KWlwAAAAaFJREFUeNrs1U8oREEcwPH3UEgWpeSEEilpS7Hk/8lhXRwlKSmllZTaEkcHly1FTi4ODkhykD9FyRIXlJWi5KI4SJzWan2nfur1WtubV6uUqU/zmjf7m5nfvJk14/G4kcqSZqS4/P0BMpx02gwbI1QDqJGmaywi1NVofCb7rZlskwlcT7WPbISFWnWDUMFbGCSsnSKCe6lOcA8fFuBBLmal7RJHMhHnK+AH6VSvuFMzxAZabd0O4ccW6tQqWUnM6QoCyEEvtiV4NwFMRT2jWc0e/bKXQZ0UBWWGFVDL7yPw+vdLee5BtbzfwZjOAEXYRacEXLJ3oG1ZHv2y+QW65yCKQgdfcT5ibs9BsdpoNj2TugPHeJc9ucCtTCLqZoA8XGEFe2jCOV7QjhtMSRo9bq6KMgyhSoKr4pXgqlTKYRtGuZsBImzkB/W0pW0Ok9bPmT4qZaduUhQh94PUWZa2WrzZDuUM1ZnuAAeS61Vbuy9B33FJ05pOigI/nMx5TCRoH5V3jlegvu02PFnvLTzgEc+wXmKlKNG+rv//Mn9lgC8BBgD7sGVcKi5W/gAAAABJRU5ErkJggg==',
- fR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3OTkyNDg4NzA0QTExMUYwOEQ2QzgyQ0MwNTI4NDdDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3OTkyNDg4ODA0QTExMUYwOEQ2QzgyQ0MwNTI4NDdDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc5OTI0ODg1MDRBMTExRjA4RDZDODJDQzA1Mjg0N0M4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc5OTI0ODg2MDRBMTExRjA4RDZDODJDQzA1Mjg0N0M4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6RV6OQAAAcRJREFUeNrslU8oRGEQwB8RJUUtByeEEmIvaDn4c5FQykYkUQ6kyEVycJEr8ie5+FMIBySHvThJDnJxcWIVuQmlrGL9pka9nl2PbddBtn7NzPfNm5k3831vo/1+vxFJoo0I//5ggr0jYx/OfxIE/204s02AUxWiFjbU7oOyIEEzoVfNLcjHHrd7g3l4qncZozhXo09DlgashE3oVt8kmMUewX8N/RSG7RJkw6rqK3DDw8sESUM/ADcsSDLWJeAujJmK+9aQX1QmgE/1OItPkspH05rvOwluoU31HpA+u6n2Er0VjqVibBlqHno7LKl/R6AEMRa7H6TPAwSZ1CAPsoG9jli3vOkE64P4VaDLAZmyJoiS62w5HUcIBw/mWNYPEbGQCHXsX5j2dhBFrKXbzgAnF6LQErwcIcc1GXKhxfKYtCojUIs+vUGQMy/nvEmDnMAbhaSG5VNB8HgN7iWoFzkHKaw7w/UtalT5SlC5SCVqd4YrQZfKexmuDtkIMAfjxzOgYhnqHTxDM1zpJVvUedTQNs9XCWJsChgy6TNavST7qGoUPCG1iOplrwGuoRSc+uHLh2K91QX4OUJu0f9f5q8keBdgACaT0d0bEwOJAAAAAElFTkSuQmCC',
- bR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozQTYyMUZBMzA0QTAxMUYwQTBCQUYyQUNCMDJDN0Q3RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozQTYyMUZBNDA0QTAxMUYwQTBCQUYyQUNCMDJDN0Q3RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNBNjIxRkExMDRBMDExRjBBMEJBRjJBQ0IwMkM3RDdEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNBNjIxRkEyMDRBMDExRjBBMEJBRjJBQ0IwMkM3RDdEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+8aVySAAAASRJREFUeNpi+v//PwMtMRMDjcHQt4CFVA2bjzF0AKlyKPeGrxWDJlUtAIKvQLwLiH8A8W2q+wAIvgBd7U6TOAAGTzWQ6gHSu4FYkhg9jKC0SoTBskBqFhB7IAl/BuI0IF4F9NE/Sn2wCWr4HSCuA+J9QMwLxMuBWJkacQALDluga18A6Wagr/5CHchGjTh4D6XtoUGmDQpeqNhPaljwBUqvABp+DEifR7LgNcmRDDRkJZDiB2JY5NlAwxwbOAx1AMixr4FBGEtMHISRkHpt0fixxATRGzwGfsYj95TSwq4FiEF5Ip0WORkUH/XAMP4IxLOQUhZZFojgUCsBTQSgtC+ARY0osRntBhALoYmBMhYsyYGS6E0sap6TVRaN7CqT5hYABBgAr0OP0Hwa9vgAAAAASUVORK5CYII=',
- hR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNkI2QzBEMDA0OUYxMUYwQjZBOTg0NkE2N0M2QTI2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNkI2QzBEMTA0OUYxMUYwQjZBOTg0NkE2N0M2QTI2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE2QjZDMENFMDQ5RjExRjBCNkE5ODQ2QTY3QzZBMjY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE2QjZDMENGMDQ5RjExRjBCNkE5ODQ2QTY3QzZBMjY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+DfcCfwAAAVJJREFUeNpi/P//PwMtAeOoBVSzYPMxhlIg1QHETEB8C4iTfa0YjhDSx0Sk4QuBVBcQbwHiSUDMDsSHgeJuBDWDfIAPbzr63xqI/wNxHJr4WZA4If3E+KAYiP8Ag2MRmngy1HcGlAbRdyBmxiLOA6V/UWpBJygxAF1ahSa+HIi/AH12jeJUBDS8AUjVA3ETEPcB8TEg1gJiA6AFF6mVTP8Cqa1AHA3En4A4HGj4KmolUxuo2jKgoZ+hwnJkZzSggRXQVCILxCCXcwHxB6DhglB5ULhrAvE3aAJ4CcQrgPLl6Gax4LC4HRoMS6Au/whlw0AkEEcBsSgQ/wNiUIYrA+JyojIaNGPVEMpESOqDcWU6FjzBVwoMClki4gnkAw9ckrgsSANiXyA2IbLQBMVJLykW7IbGASMoFAklFCi+RYoFoEiOILHovwTE+qNV5uCzACDAAAyA+O0wNkyeAAAAAElFTkSuQmCC',
- vR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNThFQzM5MzA0QTAxMUYwOUM4OEVDRTg0NDNGMTVFRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNThFQzM5NDA0QTAxMUYwOUM4OEVDRTg0NDNGMTVFRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI1OEVDMzkxMDRBMDExRjA5Qzg4RUNFODQ0M0YxNUVEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI1OEVDMzkyMDRBMDExRjA5Qzg4RUNFODQ0M0YxNUVEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pP6Z1wAAActJREFUeNrslU0oRFEUgGc0SZSyEgslyQJlwcKoiRhZmITISspGfrYkKZGSiPwmKwvT2FDYTLEQMYqNRFnIhq2FUtOk8R2dqZum9ybGQtz6Or1z3vm55517nzMajTp+cjn/RoK9U4cb0QXb0Ax+n9txlJQEBC9CnEGWoX4BN0muv5WA4OWIQ8iMY36FWpKErBKk2BQwbARfg0FY0ud0mPzSDqi8GNELy7Au7YBUqo2oXZxuoB16YAPbRUI7wLkQcaoJ5qENTsCn9hrEJbTCOPTDMfoS2wS8VIc4N9riFTUMwa3qHqEPVqBFdWkQwr/Bbge9xrRIeypgCh5owUcC5B1CmINStcvKgAHLb0AFHkRsvn0E20/gjFRqS2U14BM07a5P75sVuHGWXudJxTg+G0Fll2WyM6g3fOR7BK1a5IewMaJPsAA5BC3Q4PmIbB3Rexgz/DctvwFV7iCqIKKqK+iAGa1YliRYhE6drtjy4B9I9BxU6qRIldPQKJNCgLBxDiR4N4zqOTj4ylWxpYfJYbQkFyZUd0Bgr9UQuGyGZFVnXd4biWOfTcZtKhfesR6m2HqDaqo/Sdb/oF77Lf+DJggQfPf/l/k7ErwLMAD7ZaivKPmX5QAAAABJRU5ErkJggg==',
- mR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjY5ODg3NzA0QTAxMUYwODZCMjhGNzk0OUU0MjE4QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjY5ODg3ODA0QTAxMUYwODZCMjhGNzk0OUU0MjE4QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyNjk4ODc1MDRBMDExRjA4NkIyOEY3OTQ5RTQyMThCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjEyNjk4ODc2MDRBMDExRjA4NkIyOEY3OTQ5RTQyMThCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xq8E1gAAAbpJREFUeNrslU0rRVEUhu/lyvfIQEgGGBAjRRkYSCmfExnL4JZiLkyI/+APGFCKJIWRgSIMTCT5FiFfxXUJx7NqqdWJc06kDJx62vus+5797r3W3vuGHccJ/eYT/jf4scHMcmiYphSuoArWIR0umqtD3X4GkQCT2Id+816u7UCQFSQE0GxouwANMAGOiQdfAenopakzoRGo1v44KZlD80y/HRrp39EOGf0qmr4va8AH7oJIOqLQA2cwBzVQJHIYhDX7AQZhrxQduN5lYCnyKORApw4+Bl3Q5tKf+hX5xfUe1YElVfOQBZKWQzXucOlf/QyS4A0ezAqbFSnyJhRDi/4eM4OmQaKfQT4cQ5mJbUGupiRTzSsgD7KNbhEq/QxkxjEKdW8KH6eJE9s1sWsxcOluZNN4nmRE53pKZ42mCZJh0sTkPGTomfh4amWCmGZ5GezoLvnuc4RBgdc2LdStmgKp2p7Ak64sXYu5p/pUo1vRGnrWQHL4yCyezKqkHyEWM7GPQxU3sdvPavDZZVeCeErFjq4q9sVNO60aoT7IbbokBtBqYpfu60DuHE1Li4nJCrb//zL/nsG7AAMAXYSTZ/6msQ8AAAAASUVORK5CYII=',
- yR =
- "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20fill='white'%20d='M195.2%20195.2a64%2064%200%200%201%2090.496%200L512%20421.504%20738.304%20195.2a64%2064%200%200%201%2090.496%2090.496L602.496%20512%20828.8%20738.304a64%2064%200%200%201-90.496%2090.496L512%20602.496%20285.696%20828.8a64%2064%200%200%201-90.496-90.496L421.504%20512%20195.2%20285.696a64%2064%200%200%201%200-90.496z'%3e%3c/path%3e%3c/svg%3e",
- wR = '/low_altitude_interface/assets/alert-haze-D4NH_G_e.png',
- RR = '/low_altitude_interface/assets/alert-rain-xrlzTbsn.png',
- IR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABVCAYAAAA49ahaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0QTZBQzY4NEZFNUQxMUVGQkFBMERCNEU1RDYwQkNDNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0QTZBQzY4NUZFNUQxMUVGQkFBMERCNEU1RDYwQkNDNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRBNkFDNjgyRkU1RDExRUZCQUEwREI0RTVENjBCQ0M0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRBNkFDNjgzRkU1RDExRUZCQUEwREI0RTVENjBCQ0M0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e6XqAgAADEBJREFUeNrsnX+MXFUV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',
- ER =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFQzI3ODBGRDAzQkUxMUYwQUEwNjg3MTk4RDY3RDQxMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFQzI3ODBGRTAzQkUxMUYwQUEwNjg3MTk4RDY3RDQxMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkVDMjc4MEZCMDNCRTExRjBBQTA2ODcxOThENjdENDEzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkVDMjc4MEZDMDNCRTExRjBBQTA2ODcxOThENjdENDEzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+E8QPagAAB7pJREFUeNrsWFuIXVcZ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',
- MR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NjdBRjEzQTAzQkYxMUYwQTRBMDgxNzg5M0U4MkZFRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NjdBRjEzQjAzQkYxMUYwQTRBMDgxNzg5M0U4MkZFRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc2N0FGMTM4MDNCRjExRjBBNEEwODE3ODkzRTgyRkVGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc2N0FGMTM5MDNCRjExRjBBNEEwODE3ODkzRTgyRkVGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+36ueCAAABv5JREFUeNrsWEuIJVcZ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',
- DR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNkUyREI5RDAzQkYxMUYwQUM4ODg5NUNGMDFBMTFEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNkUyREI5RTAzQkYxMUYwQUM4ODg5NUNGMDFBMTFEQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RTJEQjlCMDNCRjExRjBBQzg4ODk1Q0YwMUExMURCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA2RTJEQjlDMDNCRjExRjBBQzg4ODk1Q0YwMUExMURCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+2rQZqwAACPNJREFUeNrsWFuMXWUVXvu+z3XmdC502ul0mJle6B20lpqChEQkwVR5MjUNKNX0QWgVhGgFkwJRGgsqPFh5IFVu4YEo8CCmCWposSg4rZMOlJlOC9NML9POzLnsffb+997/9lv/aU2E5BweMelup3Ny9r///1trfd+31q6Wpil9li6dPmPXFUCtLvPjX4yfOoN/U3Jse5dtWzsty6gGgbinWvX/pOlaIwpdJ/4kU15nbrUd5zHTNIwkjndXKt4+/l7TNLWOL+apZZk3uI79W6zrTFP5dLnsPZhIScsGe//nfO3jpH5/fBIb0NfqIvqjxK2s61DGMfGd7MPtyVQSiTimBjRaE4j4aJykhMMom7FxutyEPQ/xzShKAFqSrmmlMEqmo1gatm1SLuNwab4tpdw/2N/TPENnzs8QFt7sBREhQ+RYNmVck/IZZ4Wua5OhiGimXAUgBWmdVxdkmKYChGxRIeusN3TtkEQ0F+cqFCcJGbre59cjgzSdMgBTNg0q5pxbDEPb37JkF2YrfNQzoYh3cNodgHId6/SMlh4Mw4h0Q6dKzScTIGzLPIDvQlU52yYXgDzPeDVJJLITkxeEVA8EMueMaikdi+J0pedbap3vG7/h81Ytu7o5IBW4ph3VSN4c1MV34ijyal6623Ysb+FVndTb00mVqk8jx0+phCIba+v1cFcqE8PU3SeqnjcRIIvXDPXRmu4SnZueo8kzF6K5ucqXAPRhmdglQ3OfR2xvJvKTHvgJDr346l8VIQO/TlGcUFsxRwt7uqi/dz4VC1m1xrFMGvvwDB05Nk4J1oAjTFoViwBRVy5ZTAN9PSA1iI0y1bDX2MRp+vD0WRLgFZdWNwzik7dsvql5hoYWL7i0kaY4VMhlaV6pAJBEVZSKrxDl6l/YTRa4cPjdUfU9lzabdWn9mqW0oLtDlZWf4eCK+SytXTlIfb3dKFVIrC4RRSirbJ2hU5PnyABP8rkMDjTXgcR3IFMbEH4Jt2cA9DAA/z6Okn87jkUXZso0PDJObAnXrR6irnntVPV8zsxylPlbum5sxDNdKaVlPPeOqevPgfBvVzyPwiCmq/uuag7o+InTIKwBZdk/hVR3Q6rEJOWLgcJuQGYDYPUfRyJ6zHFtikRD3pmsQwGrztDvRkmeYkJe3p7FYCj/AjSZ/KJc8R5gwq9Y2te8ZFrDzB6ZrfgP+pB+KhlQrMwN0SqucCkzjvVzqG8V1LQ1VToAf0LBh+4Tcbo9xucYfgXQ7GEAaRJnlNWIgO7HHllk6u6WJRsdm1yFMo3UECnQUCyicXjyL7FqAs47ZOjGDyzbHjAtZQfUlncPQWmbmKH4+zr86ytsiBxEGIop/H4coEex9SJ41T35Qn616zicYc7WFxfO7/h7U0DDx07sn63U70whyTRNPsCGq0DYSLtUMpimEyfyZdNybuPSOjDEUiF7BPwIy7X6BuXOMMNQhH8Dd74ORc7VhVBqbCvmWV3Dhmmtg4cRML020Dd/c9OS1bz6TXUYmsk119JdABIxuCRNGss1cDEQX5X18MlsNvfdJEldIaJ1rCZeFyex8D3vOfSzbawu9poYYNjJcxmX6qG4NwzCN9jJAejGlk7t+aKHHdlwwZOcO4yMNLzHyagMkepvLj5rO4Iw7vYD8Y0I+WNA/OM6xhtdne3bWAhQqRIBc4eljmA5oGGwkbgFxVpabAkoiqNzoRCLwAvq6c6sRDOcUBECBLq5WlPIZ7BOPjw5deFW3viyb3HxwdVNHaX2x6GN++rgoYk0sDmKqCEM/FlZrrLpounCM1vOQ1DFQa53FdEg+kfb8jnVnRPwgrNlql5Wf37s5NRD0zOVtggGJ8LwRBAG7/Hnmblq/uTk+XtrXvAK1lqq3HiWn+NMiUjuxb4kRMyqfKtlhiDRJ3DwFngQnfzo3BrI+F+d8wp7YffjSaIvmy3Xfnj67Myamh+AAzqrZQSV+RwOjmQi38L5GwOUHDzcvKC7dKytkN2jG9oIBLsYz3wfQVzP95E4tCB9T0vZ/+H1Q0Af/bpSC3bESCurqLOjCN7YqHuMDNSIOWZZOs9Jr0Ett8MUE84ED2Qg8Qsg+hbum/xsO3phhs0TWed2wlMAz3m6lj6LJXds/vLG5hmSisDWzgxcreaFSL2PXuX9d/pjkvL44Jj6HoD5UQADZLNkdvDnjOt8M5XxKEj8CD9ba7QRZZzMNXZr29afjmW6XcSy9QgbBEzSFNkQ90HHr7i2cScSuR4HlrDZLBrq265r/Q4GedDzAioWs7R6xSDZ8KSjoyfo4mwVmbMfNdL0zyDAXSjV9WBRJ+BU4E/vijB5VibmAc3QYBHUurkeODisxggmYoz0+vWAylXu8qmez2Ulq4kbKXOos71I165egrEkR7Yazur0jyPHafrCLE9sbA2qp8C3dKhMsjpZJDw1Rrw/rOGWG65rnqElGD8YJKY8SN1SvOEJYGxiUvKYobwIVw+GtWWDfcp7GHQUm+q5FUv7aQxl/Wjq/KW1PG87cmBxDy3CyFJqyyujLFd8uuxxTQHxDMxJAwk/b0vrrkI+512zpO9nbYXc7NnpGZq+WFabLh1YpNZi816Q9wEDVxBFv0Jmx5YM9KruXq7WqKujXY0kHaVizrLNnwBDCXu/AHK/mchPMQ/BXziq5cjme3iZUZYPehyHpNeiQ4NakTJALil+OrHmAyiqZKPZOrYh4C1DyNqkCaJzydXvONZDkbAlbGABYFLAvegLCOifQ/0Lmmfo4myZbX6756N9AMml15tlWce8MRDiAMubI5eNefjWmh+VVMtw+e3EtnOudTvieJKdmQc1NkBwaTXWbUgQPFQIlVp4i7F2gotbW5aMX4NwHUafgpwtfrOgms1RmSdYuuxNc1VPyRwEfz8I+MBG1+fBreaYI6rRUqrEwP4DA53C+5t6g6i7jdHDc62DvN/ywUWtOaRp+ksyia/FK+s2ZMhPYuv+mp9OXK5uoyexuenvYET5HuT/kBDCyGTsvRDaXy7TIFUzklo7jQ5wG95OnkJN2/Dy+SJazT75ad46rvxnwxVA/++A/iPAAL9UAFQEyL1ZAAAAAElFTkSuQmCC',
- ZR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGM0Q1MTREQTAzQkUxMUYwODI2OTk4RTVBNTQzMjRFRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGM0Q1MTREQjAzQkUxMUYwODI2OTk4RTVBNTQzMjRFRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRDUxNEQ4MDNCRTExRjA4MjY5OThFNUE1NDMyNEVGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkYzRDUxNEQ5MDNCRTExRjA4MjY5OThFNUE1NDMyNEVGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+yOqAiQAAB2dJREFUeNrsWEuMHFcV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',
- SR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNzBENzVGRTAzQkYxMUYwOUM5NDgyNEY2OUM0MzQ3NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxNzBENzVGRjAzQkYxMUYwOUM5NDgyNEY2OUM0MzQ3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE3MEQ3NUZDMDNCRjExRjA5Qzk0ODI0RjY5QzQzNDc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE3MEQ3NUZEMDNCRjExRjA5Qzk0ODI0RjY5QzQzNDc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1yx2WAAAB5hJREFUeNrsWG2IXFcZ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',
- NR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTQyM0U5ODAzQkUxMUYwQTk5QUZBOEM4RjQ1OEQzQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTQyM0U5OTAzQkUxMUYwQTk5QUZBOEM4RjQ1OEQzQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFNDIzRTk2MDNCRTExRjBBOTlBRkE4QzhGNDU4RDNCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFNDIzRTk3MDNCRTExRjBBOTlBRkE4QzhGNDU4RDNCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+OZfBwwAABtlJREFUeNrsWM2vXVMUX3vvcz/f7as2bV+rRaMJURKCIkKlGiESBpJOMJUwEEwa/4AIEh8T0U6YmRggOhCRNoSIqFASNDqgtH28+/reu1/nnr33Wn5rn1skveq+F4NGepL9zj0fe+/f+q3f+jjPiAidT4el8+y4AOjfjmzczfnh2fdUaUYH/mSGZjJLD+F8Ly6vxLMaHs2x0Jf4/RYTva2WfrMQ6e0TBRW4cd/FFdq5LqNBJHrvpKcv5gM9d21jMkDjDtW+gppy9ETV0TO4mPK4EbBZTM9kPUBc5Yx5yFn6vGrpMQU4wMNi9M6KGRrHjo5WRq/WHT02xAa6SYginok9dg5iCCeyhl3dmZs2Ns3hRka7Zmr2kAWtNaBl+a8AYaGpjJ6uAUwvAEwU1sVhNQ8BqggkBTN5gMK96IyYfpDK1qY9uHN95dLjAz5+GahVd1mzAkDZ3yaxXlu6tGLp2S581PMUPEDA6GRvZJLIIhGbBWEpSlAE4HiL6htq5o1mZndPYVF1cc2sIMrUJfmZgdWdob3qosWCwtKQY6eQ2MPIvTDAcVRvAEciE6xBV3EQJPzSlYLY3Lm1bl60InfQKDCWDcjrqhhqoq6A0z0DmNcHiIUBY4QItiSPcBkbDlA0BtxoQjlNgQJUlP7sgP2xhfjUiaVwCF79qOLoCjWuG2RylzVBiSJVf0M3jxSRtqn5zaqpZM5lPTDVyaMvopUafKm4uWRGYjKmjAOAoq6nQY95MNePlULs7ZbctzN1c/3lLfvtxIA0lKGbBiLqADy2qwdrOnAPLJMMITPdyKqVjO1cx2MziRXnDKZIUC2JaiqNRNUgGAPRUz8Pg6GpdMDohisa9oOazS7RrSYCpMw0HB2EpTe3c0GilKC6UaCqZRBILay4qpHV233uxMQRmcSSlEKHwJUxUC3c98ydAkrIxXqO857txs0t9zjmvDQRIDDzcEhgWGb74hcASPMNpTyDZA1A/RBjq2qyLLMO2hogGToFpAyBqZQSNPLUPh80DikxvBBkGHOkkao8CBsmAwQiHgcjdLIn+e8DCTlCWEEoM5ZKQDriUBjRnJjB5pxCDNN9SgFl6IGmUESOLsv00ub6CibMFrR5Yg0hlLefxsz2QIrFQjyYYTBgGZsnhkrR4j1iaErDS7WTqoOUESeavYHcDorgA9tQrTqjLyBAxFgtJ8YtAxCJMgQh+2HgAswYpEIeATqTS/QUAV5lVZa0MtpGkaYJMnKOFG6dU+YcMofwX3WxPTEgWHIU5eGGAv7WfBIBRMuB1qQRIFOmJ/WgqLaKUVJM0aXZK0VYoVfKk3WwTx/rFTfhZxj78cSA4J792HCfGgJgXhnitK782YKMKFJZIRtToeDUZanGaX2LHJQ862yGgLCSxEfRWtqElEJtH18Yt/3YTI0qvX913X4NQ7bALLiNcgArfBBfpEE6YogEWafqopHFOWI9BB7ayF24DHIx4jVtlzg1i6+bcqbRjfzkoucfl1HtgWSV2b00tO+jXt2wkHN3GGnOWGgIRlgjyWWgxWuWKF0EulDwcaM4Laa1zlCu7RNIqiIIpqHgNfUK2pCKPLnk5RX5h6o2XtSi5YPa01P2xrVe9qJk3L2Y8wyUmyKuQTKPBuwUatmmPjbDplQHC/WM+h96s/2zXGZ21mh+V51+6Biz2jr6Da76wjrZD1O+OleRzcbzk7ItoWKTyej5Zss8761db/pIvY7CD56mjg3l1mvq9sPLYLog74A6OSp0SZfMp9uAoG3leG75fjR1tlc1c5q6oSUFfs6Kf84GTSdyWdfAu/n9OJibxzhc0L7vurSnTbLvpinz6Bq818V9PL9uU8U00TJiYnj3J5G5LaYs1KlxMCvsGFHHUiOlVX91GaL0PfxzssxRW9Zkds+Oi1ArhHe2IZ62KRdqEt3V0O5O403kEwX5M8ZWTULjKumkgBa9MkJ0Gqr9rsv0Kzq109h4FZIQft5S14cuoxr7N5uIee2n4d0MbtsBFy0F5ll0tZ82QYn2Pm34f/2IqRUBevnHPLlLO0ZtPdDyUAtsjWi/reUgbQsgLB/1uGQTuevK6ard3syoUQQ+bJ3pmNHHgUZCBz+mbdlJyHI7RjToCYg+XAs2VsENlTJDN9CwXY/rxRrFIzWRz+qjL4q6oVOba+bItga4E3q9A0YHsCDXFlLbX5xncU8LrzPLZKiZnT1DMxtcsm1tzV6NL5CL0NIeMJkZlkIV7cPb6D0eyMRswr7H+rH8evz7x0Ix+nxyy3VZcwxvXBbEny6u0jtrq7TrqKfXFqKkL5QzBReS6/cDHUvlx5xNvxm9e65/uJgL/465AOj/BugPAQYALHhliMz+UG0AAAAASUVORK5CYII=',
- jR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RTFDN0FGQTAzQkYxMUYwQkU2QjhBMEQ3QzEzQkM0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RTFDN0FGQjAzQkYxMUYwQkU2QjhBMEQ3QzEzQkM0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUM3QUY4MDNCRjExRjBCRTZCOEEwRDdDMTNCQzQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZFMUM3QUY5MDNCRjExRjBCRTZCOEEwRDdDMTNCQzQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+tXvG2AAAB1RJREFUeNrsWFuIXVcZ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',
- GR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NjJBN0M1QjAzQkYxMUYwQkEwREJBRjQzQkU3MkIwOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NjJBN0M1QzAzQkYxMUYwQkEwREJBRjQzQkU3MkIwOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY2MkE3QzU5MDNCRjExRjBCQTBEQkFGNDNCRTcyQjA4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY2MkE3QzVBMDNCRjExRjBCQTBEQkFGNDNCRTcyQjA4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PP4rBwAABq1JREFUeNrsWEuMFFUU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',
- kR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOTY0NzQ5MjAzQkUxMUYwOUEzOEJFRjUyMUQwQjMzRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOTY0NzQ5MzAzQkUxMUYwOUEzOEJFRjUyMUQwQjMzRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5NjQ3NDkwMDNCRTExRjA5QTM4QkVGNTIxRDBCMzNGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ5NjQ3NDkxMDNCRTExRjA5QTM4QkVGNTIxRDBCMzNGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+di2m1wAABlpJREFUeNrsWF+IVFUc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',
- BR =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowRTJFNURFQTAzQkYxMUYwQkM0RDlFQUI2RTRBNkQ1MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowRTJFNURFQjAzQkYxMUYwQkM0RDlFQUI2RTRBNkQ1MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBFMkU1REU4MDNCRjExRjBCQzREOUVBQjZFNEE2RDUyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBFMkU1REU5MDNCRjExRjBCQzREOUVBQjZFNEE2RDUyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+W6VGZwAABxVJREFUeNrsWFtsXNUV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',
- YR = '/low_altitude_interface/assets/MoveCar-CrFAlbrg.json',
- UR =
- 'data:application/json;base64,Ww0KICB7DQogICAgInRpdGxlIjogIuWFqOW4gueZveaooSIsDQogICAgIkRfQ09ERSI6ICJEODUwMzAxMDMyMDI0MDkiLA0KICAgICJpZCI6ICJEODUwMzAxMDMyMDI0MDkwMSIsDQogICAgInZpc2libGUiOiBmYWxzZSwNCiAgICAib3BhY2l0eSI6IDEsDQogICAgInR5cGUiOiAic2NlbmUiDQogIH0sDQogIHsNCiAgICAidGl0bGUiOiAi5b2x5YOP5bqV5Zu+IiwNCiAgICAiRF9DT0RFIjogIjUwMTE1MDM2IiwNCiAgICAiaWQiOiAiNTAxMTUwMzYiLA0KICAgICJ1cmwiOiAiIiwNCiAgICAidmlzaWJsZSI6IGZhbHNlLA0KICAgICJvcGFjaXR5IjogMSwNCiAgICAidHlwZSI6ICJ0aWxlIg0KICB9DQpdDQo=',
- TR = '/low_altitude_interface/assets/shifei-DT3q3x2E.json'
- function Yo(e) {
- return new URL(
- Object.assign({
- '/src/assets/images/buttons/alert-dl-h.png': Dm,
- '/src/assets/images/buttons/alert-dl.png': Zm,
- '/src/assets/images/buttons/alert-ky-h.png': Sm,
- '/src/assets/images/buttons/alert-ky.png': Nm,
- '/src/assets/images/buttons/alert-ph-h.png': jm,
- '/src/assets/images/buttons/alert-ph.png': Gm,
- '/src/assets/images/buttons/alert-pz-h.png': km,
- '/src/assets/images/buttons/alert-pz.png': Bm,
- '/src/assets/images/buttons/alert-tq-h.png': Ym,
- '/src/assets/images/buttons/alert-tq.png': Um,
- '/src/assets/images/buttons/btn-check.png': Tm,
- '/src/assets/images/buttons/btn-delete.png': Jm,
- '/src/assets/images/buttons/btn-dropdown.png': Cm,
- '/src/assets/images/buttons/btn-edit.png': Om,
- '/src/assets/images/buttons/btn-main.png': zm,
- '/src/assets/images/buttons/btn-mesh.png': Wm,
- '/src/assets/images/buttons/btn-secondary.png': Fm,
- '/src/assets/images/buttons/btn-selectall.png': Lm,
- '/src/assets/images/buttons/switch-off.png': xm,
- '/src/assets/images/buttons/switch-on.png': Vm,
- '/src/assets/images/buttons/tool-dtqh-h.png': Qm,
- '/src/assets/images/buttons/tool-dtqh.png': Xm,
- '/src/assets/images/buttons/tool-fcky-h.png': Pm,
- '/src/assets/images/buttons/tool-fcky.png': Hm,
- '/src/assets/images/buttons/tool-hxhs-h.png': Km,
- '/src/assets/images/buttons/tool-hxhs.png': qm,
- '/src/assets/images/buttons/tool-kyhs-h.png': _m,
- '/src/assets/images/buttons/tool-kyhs.png': $m,
- '/src/assets/images/buttons/tool-kysg-h.png': ey,
- '/src/assets/images/buttons/tool-kysg.png': ty,
- '/src/assets/images/buttons/tool-kytc-h.png': ny,
- '/src/assets/images/buttons/tool-kytc.png': iy,
- '/src/assets/images/buttons/tool-qjchs-h.png': sy,
- '/src/assets/images/buttons/tool-qjchs.png': oy,
- '/src/assets/images/buttons/tool-qjll-h.png': ay,
- '/src/assets/images/buttons/tool-qjll.png': ry,
- '/src/assets/images/buttons/tool-sgzy-h.png': ly,
- '/src/assets/images/buttons/tool-sgzy.png': cy,
- '/src/assets/images/buttons/tool-tsjs-h.png': uy,
- '/src/assets/images/buttons/tool-tsjs.png': dy,
- '/src/assets/images/buttons/tool2-kypm-h.png': py,
- '/src/assets/images/buttons/tool2-kypm.png': Ay,
- '/src/assets/images/buttons/tool2-sgzy-h.png': gy,
- '/src/assets/images/buttons/tool2-sgzy.png': fy,
- '/src/assets/images/layout/arrow-down.png': by,
- '/src/assets/images/layout/arrow-up.png': hy,
- '/src/assets/images/layout/bg-footer-deco-left.png': vy,
- '/src/assets/images/layout/bg-footer-deco-right.png': my,
- '/src/assets/images/layout/bg-footer-deco.png': yy,
- '/src/assets/images/layout/bg-footer.png': wy,
- '/src/assets/images/layout/bg-footer_large.png': Ry,
- '/src/assets/images/layout/bg-header.png': Iy,
- '/src/assets/images/layout/bg-header_large.png': Ey,
- '/src/assets/images/layout/bg-home.jpg': My,
- '/src/assets/images/layout/bg-login-form.png': Dy,
- '/src/assets/images/layout/bg-login.jpg': Zy,
- '/src/assets/images/layout/bg-masking.png': Sy,
- '/src/assets/images/layout/bg-text-line.png': Ny,
- '/src/assets/images/layout/btn-link.png': jy,
- '/src/assets/images/layout/icon-account.png': Gy,
- '/src/assets/images/layout/icon-bdby-h.png': ky,
- '/src/assets/images/layout/icon-bdby.png': By,
- '/src/assets/images/layout/icon-code.png': Yy,
- '/src/assets/images/layout/icon-csps-h.png': Uy,
- '/src/assets/images/layout/icon-csps.png': Ty,
- '/src/assets/images/layout/icon-password.png': Jy,
- '/src/assets/images/layout/logo.png': Cy,
- '/src/assets/images/layout/module-aid.png': Oy,
- '/src/assets/images/layout/module-area.png': zy,
- '/src/assets/images/layout/module-flight.png': Wy,
- '/src/assets/images/layout/module-info.png': Fy,
- '/src/assets/images/layout/module-monitor.png': Ly,
- '/src/assets/images/layout/module-scene.png': xy,
- '/src/assets/images/layout/user-bg.png': Vy,
- '/src/assets/images/motion/bg-uav.webm': Qy,
- '/src/assets/images/page/alert-bg-dl.png': Xy,
- '/src/assets/images/page/alert-bg-ky.png': Py,
- '/src/assets/images/page/alert-bg-ph.png': Hy,
- '/src/assets/images/page/alert-bg-pz.png': Ky,
- '/src/assets/images/page/alert-bg-tq.png': qy,
- '/src/assets/images/page/basemap-dark-h.png': _y,
- '/src/assets/images/page/basemap-dark.png': $y,
- '/src/assets/images/page/basemap-light-h.png': ew,
- '/src/assets/images/page/basemap-light.png': tw,
- '/src/assets/images/page/basemap-rs-h.png': nw,
- '/src/assets/images/page/basemap-rs.png': iw,
- '/src/assets/images/page/bg-chart-title.png': sw,
- '/src/assets/images/page/bg-des.png': ow,
- '/src/assets/images/page/bg-dialog-l.png': aw,
- '/src/assets/images/page/bg-dialog-s.png': rw,
- '/src/assets/images/page/bg-dialog-wide.png': lw,
- '/src/assets/images/page/bg-dialog.png': cw,
- '/src/assets/images/page/bg-fxjhzs.png': uw,
- '/src/assets/images/page/bg-gjzs.png': dw,
- '/src/assets/images/page/bg-label.png': pw,
- '/src/assets/images/page/bg-label2.png': Aw,
- '/src/assets/images/page/bg-plan-h.png': gw,
- '/src/assets/images/page/bg-plan.png': fw,
- '/src/assets/images/page/bg-plate.png': bw,
- '/src/assets/images/page/bg-rank-1.png': hw,
- '/src/assets/images/page/bg-rank-2.png': vw,
- '/src/assets/images/page/bg-rank-3.png': mw,
- '/src/assets/images/page/bg-table-row.png': yw,
- '/src/assets/images/page/bg-text-line.png': ww,
- '/src/assets/images/page/bg-text-line2.png': Rw,
- '/src/assets/images/page/bg-title-2.png': Iw,
- '/src/assets/images/page/bg-title.png': Ew,
- '/src/assets/images/page/icon-clock.png': Mw,
- '/src/assets/images/page/icon-cube-1.png': Dw,
- '/src/assets/images/page/icon-cube-2.png': Zw,
- '/src/assets/images/page/icon-cube-3.png': Sw,
- '/src/assets/images/page/icon-cube-4.png': Nw,
- '/src/assets/images/page/icon-cube-5.png': jw,
- '/src/assets/images/page/icon-cube-6.png': Gw,
- '/src/assets/images/page/icon-distance.png': kw,
- '/src/assets/images/page/icon-draw.png': Bw,
- '/src/assets/images/page/icon-flag.png': Yw,
- '/src/assets/images/page/icon-location.png': Uw,
- '/src/assets/images/page/icon-plane.png': Tw,
- '/src/assets/images/page/icon-rule.png': Jw,
- '/src/assets/images/page/icon-sta-cky.png': Cw,
- '/src/assets/images/page/icon-sta-hkq.png': Ow,
- '/src/assets/images/page/icon-sta-hx.png': zw,
- '/src/assets/images/page/icon-sta-ky.png': Ww,
- '/src/assets/images/page/icon-sta-qjd.png': Fw,
- '/src/assets/images/page/icon-sta-qy.png': Lw,
- '/src/assets/images/page/icon-step-h.png': xw,
- '/src/assets/images/page/icon-step.png': Vw,
- '/src/assets/images/page/icon-uav.png': Qw,
- '/src/assets/images/page/icon-upload.png': Xw,
- '/src/assets/images/page/slider-bg.png': Pw,
- '/src/assets/images/page/stick-1.png': Hw,
- '/src/assets/images/page/stick-2.png': Kw,
- '/src/assets/images/page/stick-3.png': qw,
- '/src/assets/images/page/stick-4.png': _w,
- '/src/assets/images/page/stick-5.png': $w,
- '/src/assets/images/resources/dcgrao.png': eR,
- '/src/assets/images/resources/dlu.png': tR,
- '/src/assets/images/resources/dxing.png': nR,
- '/src/assets/images/resources/gdjtong.png': iR,
- '/src/assets/images/resources/gjdmxing.png': sR,
- '/src/assets/images/resources/hliu.png': oR,
- '/src/assets/images/resources/hxian.png': aR,
- '/src/assets/images/resources/jfqu.png': rR,
- '/src/assets/images/resources/jkqu.png': lR,
- '/src/assets/images/resources/lhua.png': cR,
- '/src/assets/images/resources/qjchang.png': uR,
- '/src/assets/images/resources/qsjzwu.png': dR,
- '/src/assets/images/resources/rkou.png': pR,
- '/src/assets/images/resources/sfqu.png': AR,
- '/src/assets/images/resources/tlu.png': gR,
- '/src/assets/images/resources/wxtxjzhan.png': fR,
- '/src/assets/images/resources/xxiao.png': bR,
- '/src/assets/images/resources/ypfkyu.png': hR,
- '/src/assets/images/resources/yyuan.png': vR,
- '/src/assets/images/resources/zfbmen.png': mR,
- '/src/assets/images/svg/close.svg': yR,
- '/src/assets/images/weather/alert-haze.png': wR,
- '/src/assets/images/weather/alert-rain.png': RR,
- '/src/assets/images/weather/alert-wind.png': IR,
- '/src/assets/images/weather/cloudy.png': ER,
- '/src/assets/images/weather/foggy.png': MR,
- '/src/assets/images/weather/haze.png': DR,
- '/src/assets/images/weather/rain-l.png': ZR,
- '/src/assets/images/weather/rain-m.png': SR,
- '/src/assets/images/weather/rain-s.png': NR,
- '/src/assets/images/weather/snow-l.png': jR,
- '/src/assets/images/weather/snow-s.png': GR,
- '/src/assets/images/weather/sunny.png': kR,
- '/src/assets/images/weather/windy.png': BR,
- })[`/src/assets/images/${e}`],
- import.meta.url
- ).href
- }
- async function JR(e) {
- return await (
- await fetch(
- new URL(
- Object.assign({ '/src/data/MoveCar.json': YR, '/src/data/resources.json': UR, '/src/data/shifei.json': TR })[
- `/src/data/${e}`
- ],
- import.meta.url
- ).href
- )
- ).json()
- }
- const Kt = (e, t) => {
- const n = e.__vccOpts || e
- for (const [i, s] of t) n[i] = s
- return n
- },
- CR = {
- uav: ['fcky', 'cube', 'kysg', 'tsjs_gis', 'layers_legend'],
- kysg: ['uav', 'tsjs_gis', 'layers_legend'],
- fcky: ['uav', 'cube'],
- cube: ['uav', 'fcky'],
- tsjs_gis: ['uav', 'kysg', 'layers_legend'],
- layers_legend: ['kysg', 'uav', 'tsjs_gis'],
- }
- let ki = {}
- const Qn = co('layout', {
- state: () => ({
- globalLoading: !1,
- sceneLoading: !1,
- leftCollapse: !0,
- rightCollapse: !0,
- footerCollapse: !0,
- sceneType: 'gis',
- mapScene: 'rs',
- leftPanelType: 'default',
- floatPanels: { uav: !1, kysg: !1, fcky: !1, cube: !1, tsjs_gis: !1, layers_legend: !1 },
- uavMonitorOn: !1,
- toolsActive: {},
- }),
- getters: {},
- actions: {
- toggleGlobalLoading(e) {
- this.globalLoading = e
- },
- toggleAside(e, t) {
- ;['left', 'right'].includes(e) && (e === 'left' ? (this.leftCollapse = t) : (this.rightCollapse = t))
- },
- toggleFooter(e) {
- this.footerCollapse = e
- },
- toggleScene(e) {
- e && ['ue', 'gis'].includes(e) ? (this.sceneType = e) : (this.sceneType = this.sceneType === 'ue' ? 'gis' : 'ue')
- },
- setMapScene(e) {
- this.mapScene = e
- },
- setLeftPanel(e) {
- this.leftPanelType = e
- },
- toggleFloatPanel(e, t) {
- ;(this.floatPanels[e] = t),
- t &&
- CR[e].forEach((n) => {
- this.floatPanels[n] = !1
- })
- },
- toggleUavMonitor(e) {
- e
- ? ((ki.left = this.leftCollapse),
- (ki.right = this.rightCollapse),
- (this.uavMonitorOn = this.leftCollapse = this.rightCollapse = !0))
- : ((this.uavMonitorOn = !1), (this.leftCollapse = ki.left), (this.rightCollapse = ki.right))
- },
- },
- })
- let Uo = { bridgeContent: {} }
- function ic(e, t) {
- return function () {
- return e.apply(t, arguments)
- }
- }
- const { toString: OR } = Object.prototype,
- { getPrototypeOf: To } = Object,
- As = ((e) => (t) => {
- const n = OR.call(t)
- return e[n] || (e[n] = n.slice(8, -1).toLowerCase())
- })(Object.create(null)),
- wt = (e) => ((e = e.toLowerCase()), (t) => As(t) === e),
- gs = (e) => (t) => typeof t === e,
- { isArray: Xn } = Array,
- ui = gs('undefined')
- function zR(e) {
- return (
- e !== null &&
- !ui(e) &&
- e.constructor !== null &&
- !ui(e.constructor) &&
- nt(e.constructor.isBuffer) &&
- e.constructor.isBuffer(e)
- )
- }
- const sc = wt('ArrayBuffer')
- function WR(e) {
- let t
- return (
- typeof ArrayBuffer < 'u' && ArrayBuffer.isView ? (t = ArrayBuffer.isView(e)) : (t = e && e.buffer && sc(e.buffer)),
- t
- )
- }
- const FR = gs('string'),
- nt = gs('function'),
- oc = gs('number'),
- fs = (e) => e !== null && typeof e == 'object',
- LR = (e) => e === !0 || e === !1,
- Ci = (e) => {
- if (As(e) !== 'object') return !1
- const t = To(e)
- return (
- (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) &&
- !(Symbol.toStringTag in e) &&
- !(Symbol.iterator in e)
- )
- },
- xR = wt('Date'),
- VR = wt('File'),
- QR = wt('Blob'),
- XR = wt('FileList'),
- PR = (e) => fs(e) && nt(e.pipe),
- HR = (e) => {
- let t
- return (
- e &&
- ((typeof FormData == 'function' && e instanceof FormData) ||
- (nt(e.append) &&
- ((t = As(e)) === 'formdata' || (t === 'object' && nt(e.toString) && e.toString() === '[object FormData]'))))
- )
- },
- KR = wt('URLSearchParams'),
- [qR, _R, $R, eI] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(wt),
- tI = (e) => (e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''))
- function hi(e, t, { allOwnKeys: n = !1 } = {}) {
- if (e === null || typeof e > 'u') return
- let i, s
- if ((typeof e != 'object' && (e = [e]), Xn(e))) for (i = 0, s = e.length; i < s; i++) t.call(null, e[i], i, e)
- else {
- const a = n ? Object.getOwnPropertyNames(e) : Object.keys(e),
- o = a.length
- let r
- for (i = 0; i < o; i++) (r = a[i]), t.call(null, e[r], r, e)
- }
- }
- function ac(e, t) {
- t = t.toLowerCase()
- const n = Object.keys(e)
- let i = n.length,
- s
- for (; i-- > 0; ) if (((s = n[i]), t === s.toLowerCase())) return s
- return null
- }
- const sn = typeof globalThis < 'u' ? globalThis : typeof self < 'u' ? self : typeof window < 'u' ? window : global,
- rc = (e) => !ui(e) && e !== sn
- function $s() {
- const { caseless: e } = (rc(this) && this) || {},
- t = {},
- n = (i, s) => {
- const a = (e && ac(t, s)) || s
- Ci(t[a]) && Ci(i) ? (t[a] = $s(t[a], i)) : Ci(i) ? (t[a] = $s({}, i)) : Xn(i) ? (t[a] = i.slice()) : (t[a] = i)
- }
- for (let i = 0, s = arguments.length; i < s; i++) arguments[i] && hi(arguments[i], n)
- return t
- }
- const nI = (e, t, n, { allOwnKeys: i } = {}) => (
- hi(
- t,
- (s, a) => {
- n && nt(s) ? (e[a] = ic(s, n)) : (e[a] = s)
- },
- { allOwnKeys: i }
- ),
- e
- ),
- iI = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e),
- sI = (e, t, n, i) => {
- ;(e.prototype = Object.create(t.prototype, i)),
- (e.prototype.constructor = e),
- Object.defineProperty(e, 'super', { value: t.prototype }),
- n && Object.assign(e.prototype, n)
- },
- oI = (e, t, n, i) => {
- let s, a, o
- const r = {}
- if (((t = t || {}), e == null)) return t
- do {
- for (s = Object.getOwnPropertyNames(e), a = s.length; a-- > 0; )
- (o = s[a]), (!i || i(o, e, t)) && !r[o] && ((t[o] = e[o]), (r[o] = !0))
- e = n !== !1 && To(e)
- } while (e && (!n || n(e, t)) && e !== Object.prototype)
- return t
- },
- aI = (e, t, n) => {
- ;(e = String(e)), (n === void 0 || n > e.length) && (n = e.length), (n -= t.length)
- const i = e.indexOf(t, n)
- return i !== -1 && i === n
- },
- rI = (e) => {
- if (!e) return null
- if (Xn(e)) return e
- let t = e.length
- if (!oc(t)) return null
- const n = new Array(t)
- for (; t-- > 0; ) n[t] = e[t]
- return n
- },
- lI = (
- (e) => (t) =>
- e && t instanceof e
- )(typeof Uint8Array < 'u' && To(Uint8Array)),
- cI = (e, t) => {
- const i = (e && e[Symbol.iterator]).call(e)
- let s
- for (; (s = i.next()) && !s.done; ) {
- const a = s.value
- t.call(e, a[0], a[1])
- }
- },
- uI = (e, t) => {
- let n
- const i = []
- for (; (n = e.exec(t)) !== null; ) i.push(n)
- return i
- },
- dI = wt('HTMLFormElement'),
- pI = (e) =>
- e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function (n, i, s) {
- return i.toUpperCase() + s
- }),
- dr = (
- ({ hasOwnProperty: e }) =>
- (t, n) =>
- e.call(t, n)
- )(Object.prototype),
- AI = wt('RegExp'),
- lc = (e, t) => {
- const n = Object.getOwnPropertyDescriptors(e),
- i = {}
- hi(n, (s, a) => {
- let o
- ;(o = t(s, a, e)) !== !1 && (i[a] = o || s)
- }),
- Object.defineProperties(e, i)
- },
- gI = (e) => {
- lc(e, (t, n) => {
- if (nt(e) && ['arguments', 'caller', 'callee'].indexOf(n) !== -1) return !1
- const i = e[n]
- if (nt(i)) {
- if (((t.enumerable = !1), 'writable' in t)) {
- t.writable = !1
- return
- }
- t.set ||
- (t.set = () => {
- throw Error("Can not rewrite read-only method '" + n + "'")
- })
- }
- })
- },
- fI = (e, t) => {
- const n = {},
- i = (s) => {
- s.forEach((a) => {
- n[a] = !0
- })
- }
- return Xn(e) ? i(e) : i(String(e).split(t)), n
- },
- bI = () => {},
- hI = (e, t) => (e != null && Number.isFinite((e = +e)) ? e : t)
- function vI(e) {
- return !!(e && nt(e.append) && e[Symbol.toStringTag] === 'FormData' && e[Symbol.iterator])
- }
- const mI = (e) => {
- const t = new Array(10),
- n = (i, s) => {
- if (fs(i)) {
- if (t.indexOf(i) >= 0) return
- if (!('toJSON' in i)) {
- t[s] = i
- const a = Xn(i) ? [] : {}
- return (
- hi(i, (o, r) => {
- const l = n(o, s + 1)
- !ui(l) && (a[r] = l)
- }),
- (t[s] = void 0),
- a
- )
- }
- }
- return i
- }
- return n(e, 0)
- },
- yI = wt('AsyncFunction'),
- wI = (e) => e && (fs(e) || nt(e)) && nt(e.then) && nt(e.catch),
- cc = ((e, t) =>
- e
- ? setImmediate
- : t
- ? ((n, i) => (
- sn.addEventListener(
- 'message',
- ({ source: s, data: a }) => {
- s === sn && a === n && i.length && i.shift()()
- },
- !1
- ),
- (s) => {
- i.push(s), sn.postMessage(n, '*')
- }
- ))(`axios@${Math.random()}`, [])
- : (n) => setTimeout(n))(typeof setImmediate == 'function', nt(sn.postMessage)),
- RI = typeof queueMicrotask < 'u' ? queueMicrotask.bind(sn) : (typeof process < 'u' && process.nextTick) || cc,
- S = {
- isArray: Xn,
- isArrayBuffer: sc,
- isBuffer: zR,
- isFormData: HR,
- isArrayBufferView: WR,
- isString: FR,
- isNumber: oc,
- isBoolean: LR,
- isObject: fs,
- isPlainObject: Ci,
- isReadableStream: qR,
- isRequest: _R,
- isResponse: $R,
- isHeaders: eI,
- isUndefined: ui,
- isDate: xR,
- isFile: VR,
- isBlob: QR,
- isRegExp: AI,
- isFunction: nt,
- isStream: PR,
- isURLSearchParams: KR,
- isTypedArray: lI,
- isFileList: XR,
- forEach: hi,
- merge: $s,
- extend: nI,
- trim: tI,
- stripBOM: iI,
- inherits: sI,
- toFlatObject: oI,
- kindOf: As,
- kindOfTest: wt,
- endsWith: aI,
- toArray: rI,
- forEachEntry: cI,
- matchAll: uI,
- isHTMLForm: dI,
- hasOwnProperty: dr,
- hasOwnProp: dr,
- reduceDescriptors: lc,
- freezeMethods: gI,
- toObjectSet: fI,
- toCamelCase: pI,
- noop: bI,
- toFiniteNumber: hI,
- findKey: ac,
- global: sn,
- isContextDefined: rc,
- isSpecCompliantForm: vI,
- toJSONObject: mI,
- isAsyncFn: yI,
- isThenable: wI,
- setImmediate: cc,
- asap: RI,
- }
- function te(e, t, n, i, s) {
- Error.call(this),
- Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : (this.stack = new Error().stack),
- (this.message = e),
- (this.name = 'AxiosError'),
- t && (this.code = t),
- n && (this.config = n),
- i && (this.request = i),
- s && ((this.response = s), (this.status = s.status ? s.status : null))
- }
- S.inherits(te, Error, {
- toJSON: function () {
- return {
- message: this.message,
- name: this.name,
- description: this.description,
- number: this.number,
- fileName: this.fileName,
- lineNumber: this.lineNumber,
- columnNumber: this.columnNumber,
- stack: this.stack,
- config: S.toJSONObject(this.config),
- code: this.code,
- status: this.status,
- }
- },
- })
- const uc = te.prototype,
- dc = {}
- ;[
- 'ERR_BAD_OPTION_VALUE',
- 'ERR_BAD_OPTION',
- 'ECONNABORTED',
- 'ETIMEDOUT',
- 'ERR_NETWORK',
- 'ERR_FR_TOO_MANY_REDIRECTS',
- 'ERR_DEPRECATED',
- 'ERR_BAD_RESPONSE',
- 'ERR_BAD_REQUEST',
- 'ERR_CANCELED',
- 'ERR_NOT_SUPPORT',
- 'ERR_INVALID_URL',
- ].forEach((e) => {
- dc[e] = { value: e }
- })
- Object.defineProperties(te, dc)
- Object.defineProperty(uc, 'isAxiosError', { value: !0 })
- te.from = (e, t, n, i, s, a) => {
- const o = Object.create(uc)
- return (
- S.toFlatObject(
- e,
- o,
- function (l) {
- return l !== Error.prototype
- },
- (r) => r !== 'isAxiosError'
- ),
- te.call(o, e.message, t, n, i, s),
- (o.cause = e),
- (o.name = e.name),
- a && Object.assign(o, a),
- o
- )
- }
- const II = null
- function eo(e) {
- return S.isPlainObject(e) || S.isArray(e)
- }
- function pc(e) {
- return S.endsWith(e, '[]') ? e.slice(0, -2) : e
- }
- function pr(e, t, n) {
- return e
- ? e
- .concat(t)
- .map(function (s, a) {
- return (s = pc(s)), !n && a ? '[' + s + ']' : s
- })
- .join(n ? '.' : '')
- : t
- }
- function EI(e) {
- return S.isArray(e) && !e.some(eo)
- }
- const MI = S.toFlatObject(S, {}, null, function (t) {
- return /^is[A-Z]/.test(t)
- })
- function bs(e, t, n) {
- if (!S.isObject(e)) throw new TypeError('target must be an object')
- ;(t = t || new FormData()),
- (n = S.toFlatObject(n, { metaTokens: !0, dots: !1, indexes: !1 }, !1, function (p, v) {
- return !S.isUndefined(v[p])
- }))
- const i = n.metaTokens,
- s = n.visitor || c,
- a = n.dots,
- o = n.indexes,
- l = (n.Blob || (typeof Blob < 'u' && Blob)) && S.isSpecCompliantForm(t)
- if (!S.isFunction(s)) throw new TypeError('visitor must be a function')
- function d(u) {
- if (u === null) return ''
- if (S.isDate(u)) return u.toISOString()
- if (!l && S.isBlob(u)) throw new te('Blob is not supported. Use a Buffer instead.')
- return S.isArrayBuffer(u) || S.isTypedArray(u)
- ? l && typeof Blob == 'function'
- ? new Blob([u])
- : Buffer.from(u)
- : u
- }
- function c(u, p, v) {
- let f = u
- if (u && !v && typeof u == 'object') {
- if (S.endsWith(p, '{}')) (p = i ? p : p.slice(0, -2)), (u = JSON.stringify(u))
- else if ((S.isArray(u) && EI(u)) || ((S.isFileList(u) || S.endsWith(p, '[]')) && (f = S.toArray(u))))
- return (
- (p = pc(p)),
- f.forEach(function (R, I) {
- !(S.isUndefined(R) || R === null) && t.append(o === !0 ? pr([p], I, a) : o === null ? p : p + '[]', d(R))
- }),
- !1
- )
- }
- return eo(u) ? !0 : (t.append(pr(v, p, a), d(u)), !1)
- }
- const A = [],
- g = Object.assign(MI, { defaultVisitor: c, convertValue: d, isVisitable: eo })
- function b(u, p) {
- if (!S.isUndefined(u)) {
- if (A.indexOf(u) !== -1) throw Error('Circular reference detected in ' + p.join('.'))
- A.push(u),
- S.forEach(u, function (f, w) {
- ;(!(S.isUndefined(f) || f === null) && s.call(t, f, S.isString(w) ? w.trim() : w, p, g)) === !0 &&
- b(f, p ? p.concat(w) : [w])
- }),
- A.pop()
- }
- }
- if (!S.isObject(e)) throw new TypeError('data must be an object')
- return b(e), t
- }
- function Ar(e) {
- const t = { '!': '%21', "'": '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', '%00': '\0' }
- return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function (i) {
- return t[i]
- })
- }
- function Jo(e, t) {
- ;(this._pairs = []), e && bs(e, this, t)
- }
- const Ac = Jo.prototype
- Ac.append = function (t, n) {
- this._pairs.push([t, n])
- }
- Ac.toString = function (t) {
- const n = t
- ? function (i) {
- return t.call(this, i, Ar)
- }
- : Ar
- return this._pairs
- .map(function (s) {
- return n(s[0]) + '=' + n(s[1])
- }, '')
- .join('&')
- }
- function DI(e) {
- return encodeURIComponent(e)
- .replace(/%3A/gi, ':')
- .replace(/%24/g, '$')
- .replace(/%2C/gi, ',')
- .replace(/%20/g, '+')
- .replace(/%5B/gi, '[')
- .replace(/%5D/gi, ']')
- }
- function gc(e, t, n) {
- if (!t) return e
- const i = (n && n.encode) || DI
- S.isFunction(n) && (n = { serialize: n })
- const s = n && n.serialize
- let a
- if ((s ? (a = s(t, n)) : (a = S.isURLSearchParams(t) ? t.toString() : new Jo(t, n).toString(i)), a)) {
- const o = e.indexOf('#')
- o !== -1 && (e = e.slice(0, o)), (e += (e.indexOf('?') === -1 ? '?' : '&') + a)
- }
- return e
- }
- class gr {
- constructor() {
- this.handlers = []
- }
- use(t, n, i) {
- return (
- this.handlers.push({
- fulfilled: t,
- rejected: n,
- synchronous: i ? i.synchronous : !1,
- runWhen: i ? i.runWhen : null,
- }),
- this.handlers.length - 1
- )
- }
- eject(t) {
- this.handlers[t] && (this.handlers[t] = null)
- }
- clear() {
- this.handlers && (this.handlers = [])
- }
- forEach(t) {
- S.forEach(this.handlers, function (i) {
- i !== null && t(i)
- })
- }
- }
- const fc = { silentJSONParsing: !0, forcedJSONParsing: !0, clarifyTimeoutError: !1 },
- ZI = typeof URLSearchParams < 'u' ? URLSearchParams : Jo,
- SI = typeof FormData < 'u' ? FormData : null,
- NI = typeof Blob < 'u' ? Blob : null,
- jI = {
- isBrowser: !0,
- classes: { URLSearchParams: ZI, FormData: SI, Blob: NI },
- protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],
- },
- Co = typeof window < 'u' && typeof document < 'u',
- to = (typeof navigator == 'object' && navigator) || void 0,
- GI = Co && (!to || ['ReactNative', 'NativeScript', 'NS'].indexOf(to.product) < 0),
- kI = typeof WorkerGlobalScope < 'u' && self instanceof WorkerGlobalScope && typeof self.importScripts == 'function',
- BI = (Co && window.location.href) || 'http://localhost',
- YI = Object.freeze(
- Object.defineProperty(
- {
- __proto__: null,
- hasBrowserEnv: Co,
- hasStandardBrowserEnv: GI,
- hasStandardBrowserWebWorkerEnv: kI,
- navigator: to,
- origin: BI,
- },
- Symbol.toStringTag,
- { value: 'Module' }
- )
- ),
- Ce = { ...YI, ...jI }
- function UI(e, t) {
- return bs(
- e,
- new Ce.classes.URLSearchParams(),
- Object.assign(
- {
- visitor: function (n, i, s, a) {
- return Ce.isNode && S.isBuffer(n)
- ? (this.append(i, n.toString('base64')), !1)
- : a.defaultVisitor.apply(this, arguments)
- },
- },
- t
- )
- )
- }
- function TI(e) {
- return S.matchAll(/\w+|\[(\w*)]/g, e).map((t) => (t[0] === '[]' ? '' : t[1] || t[0]))
- }
- function JI(e) {
- const t = {},
- n = Object.keys(e)
- let i
- const s = n.length
- let a
- for (i = 0; i < s; i++) (a = n[i]), (t[a] = e[a])
- return t
- }
- function bc(e) {
- function t(n, i, s, a) {
- let o = n[a++]
- if (o === '__proto__') return !0
- const r = Number.isFinite(+o),
- l = a >= n.length
- return (
- (o = !o && S.isArray(s) ? s.length : o),
- l
- ? (S.hasOwnProp(s, o) ? (s[o] = [s[o], i]) : (s[o] = i), !r)
- : ((!s[o] || !S.isObject(s[o])) && (s[o] = []), t(n, i, s[o], a) && S.isArray(s[o]) && (s[o] = JI(s[o])), !r)
- )
- }
- if (S.isFormData(e) && S.isFunction(e.entries)) {
- const n = {}
- return (
- S.forEachEntry(e, (i, s) => {
- t(TI(i), s, n, 0)
- }),
- n
- )
- }
- return null
- }
- function CI(e, t, n) {
- if (S.isString(e))
- try {
- return (t || JSON.parse)(e), S.trim(e)
- } catch (i) {
- if (i.name !== 'SyntaxError') throw i
- }
- return (n || JSON.stringify)(e)
- }
- const vi = {
- transitional: fc,
- adapter: ['xhr', 'http', 'fetch'],
- transformRequest: [
- function (t, n) {
- const i = n.getContentType() || '',
- s = i.indexOf('application/json') > -1,
- a = S.isObject(t)
- if ((a && S.isHTMLForm(t) && (t = new FormData(t)), S.isFormData(t))) return s ? JSON.stringify(bc(t)) : t
- if (S.isArrayBuffer(t) || S.isBuffer(t) || S.isStream(t) || S.isFile(t) || S.isBlob(t) || S.isReadableStream(t))
- return t
- if (S.isArrayBufferView(t)) return t.buffer
- if (S.isURLSearchParams(t))
- return n.setContentType('application/x-www-form-urlencoded;charset=utf-8', !1), t.toString()
- let r
- if (a) {
- if (i.indexOf('application/x-www-form-urlencoded') > -1) return UI(t, this.formSerializer).toString()
- if ((r = S.isFileList(t)) || i.indexOf('multipart/form-data') > -1) {
- const l = this.env && this.env.FormData
- return bs(r ? { 'files[]': t } : t, l && new l(), this.formSerializer)
- }
- }
- return a || s ? (n.setContentType('application/json', !1), CI(t)) : t
- },
- ],
- transformResponse: [
- function (t) {
- const n = this.transitional || vi.transitional,
- i = n && n.forcedJSONParsing,
- s = this.responseType === 'json'
- if (S.isResponse(t) || S.isReadableStream(t)) return t
- if (t && S.isString(t) && ((i && !this.responseType) || s)) {
- const o = !(n && n.silentJSONParsing) && s
- try {
- return JSON.parse(t)
- } catch (r) {
- if (o) throw r.name === 'SyntaxError' ? te.from(r, te.ERR_BAD_RESPONSE, this, null, this.response) : r
- }
- }
- return t
- },
- ],
- timeout: 0,
- xsrfCookieName: 'XSRF-TOKEN',
- xsrfHeaderName: 'X-XSRF-TOKEN',
- maxContentLength: -1,
- maxBodyLength: -1,
- env: { FormData: Ce.classes.FormData, Blob: Ce.classes.Blob },
- validateStatus: function (t) {
- return t >= 200 && t < 300
- },
- headers: { common: { Accept: 'application/json, text/plain, */*', 'Content-Type': void 0 } },
- }
- S.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (e) => {
- vi.headers[e] = {}
- })
- const OI = S.toObjectSet([
- 'age',
- 'authorization',
- 'content-length',
- 'content-type',
- 'etag',
- 'expires',
- 'from',
- 'host',
- 'if-modified-since',
- 'if-unmodified-since',
- 'last-modified',
- 'location',
- 'max-forwards',
- 'proxy-authorization',
- 'referer',
- 'retry-after',
- 'user-agent',
- ]),
- zI = (e) => {
- const t = {}
- let n, i, s
- return (
- e &&
- e
- .split(
- `
- `
- )
- .forEach(function (o) {
- ;(s = o.indexOf(':')),
- (n = o.substring(0, s).trim().toLowerCase()),
- (i = o.substring(s + 1).trim()),
- !(!n || (t[n] && OI[n])) &&
- (n === 'set-cookie' ? (t[n] ? t[n].push(i) : (t[n] = [i])) : (t[n] = t[n] ? t[n] + ', ' + i : i))
- }),
- t
- )
- },
- fr = Symbol('internals')
- function ei(e) {
- return e && String(e).trim().toLowerCase()
- }
- function Oi(e) {
- return e === !1 || e == null ? e : S.isArray(e) ? e.map(Oi) : String(e)
- }
- function WI(e) {
- const t = Object.create(null),
- n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g
- let i
- for (; (i = n.exec(e)); ) t[i[1]] = i[2]
- return t
- }
- const FI = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())
- function Ns(e, t, n, i, s) {
- if (S.isFunction(i)) return i.call(this, t, n)
- if ((s && (t = n), !!S.isString(t))) {
- if (S.isString(i)) return t.indexOf(i) !== -1
- if (S.isRegExp(i)) return i.test(t)
- }
- }
- function LI(e) {
- return e
- .trim()
- .toLowerCase()
- .replace(/([a-z\d])(\w*)/g, (t, n, i) => n.toUpperCase() + i)
- }
- function xI(e, t) {
- const n = S.toCamelCase(' ' + t)
- ;['get', 'set', 'has'].forEach((i) => {
- Object.defineProperty(e, i + n, {
- value: function (s, a, o) {
- return this[i].call(this, t, s, a, o)
- },
- configurable: !0,
- })
- })
- }
- let Ke = class {
- constructor(t) {
- t && this.set(t)
- }
- set(t, n, i) {
- const s = this
- function a(r, l, d) {
- const c = ei(l)
- if (!c) throw new Error('header name must be a non-empty string')
- const A = S.findKey(s, c)
- ;(!A || s[A] === void 0 || d === !0 || (d === void 0 && s[A] !== !1)) && (s[A || l] = Oi(r))
- }
- const o = (r, l) => S.forEach(r, (d, c) => a(d, c, l))
- if (S.isPlainObject(t) || t instanceof this.constructor) o(t, n)
- else if (S.isString(t) && (t = t.trim()) && !FI(t)) o(zI(t), n)
- else if (S.isHeaders(t)) for (const [r, l] of t.entries()) a(l, r, i)
- else t != null && a(n, t, i)
- return this
- }
- get(t, n) {
- if (((t = ei(t)), t)) {
- const i = S.findKey(this, t)
- if (i) {
- const s = this[i]
- if (!n) return s
- if (n === !0) return WI(s)
- if (S.isFunction(n)) return n.call(this, s, i)
- if (S.isRegExp(n)) return n.exec(s)
- throw new TypeError('parser must be boolean|regexp|function')
- }
- }
- }
- has(t, n) {
- if (((t = ei(t)), t)) {
- const i = S.findKey(this, t)
- return !!(i && this[i] !== void 0 && (!n || Ns(this, this[i], i, n)))
- }
- return !1
- }
- delete(t, n) {
- const i = this
- let s = !1
- function a(o) {
- if (((o = ei(o)), o)) {
- const r = S.findKey(i, o)
- r && (!n || Ns(i, i[r], r, n)) && (delete i[r], (s = !0))
- }
- }
- return S.isArray(t) ? t.forEach(a) : a(t), s
- }
- clear(t) {
- const n = Object.keys(this)
- let i = n.length,
- s = !1
- for (; i--; ) {
- const a = n[i]
- ;(!t || Ns(this, this[a], a, t, !0)) && (delete this[a], (s = !0))
- }
- return s
- }
- normalize(t) {
- const n = this,
- i = {}
- return (
- S.forEach(this, (s, a) => {
- const o = S.findKey(i, a)
- if (o) {
- ;(n[o] = Oi(s)), delete n[a]
- return
- }
- const r = t ? LI(a) : String(a).trim()
- r !== a && delete n[a], (n[r] = Oi(s)), (i[r] = !0)
- }),
- this
- )
- }
- concat(...t) {
- return this.constructor.concat(this, ...t)
- }
- toJSON(t) {
- const n = Object.create(null)
- return (
- S.forEach(this, (i, s) => {
- i != null && i !== !1 && (n[s] = t && S.isArray(i) ? i.join(', ') : i)
- }),
- n
- )
- }
- [Symbol.iterator]() {
- return Object.entries(this.toJSON())[Symbol.iterator]()
- }
- toString() {
- return Object.entries(this.toJSON()).map(([t, n]) => t + ': ' + n).join(`
- `)
- }
- get [Symbol.toStringTag]() {
- return 'AxiosHeaders'
- }
- static from(t) {
- return t instanceof this ? t : new this(t)
- }
- static concat(t, ...n) {
- const i = new this(t)
- return n.forEach((s) => i.set(s)), i
- }
- static accessor(t) {
- const i = (this[fr] = this[fr] = { accessors: {} }).accessors,
- s = this.prototype
- function a(o) {
- const r = ei(o)
- i[r] || (xI(s, o), (i[r] = !0))
- }
- return S.isArray(t) ? t.forEach(a) : a(t), this
- }
- }
- Ke.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization'])
- S.reduceDescriptors(Ke.prototype, ({ value: e }, t) => {
- let n = t[0].toUpperCase() + t.slice(1)
- return {
- get: () => e,
- set(i) {
- this[n] = i
- },
- }
- })
- S.freezeMethods(Ke)
- function js(e, t) {
- const n = this || vi,
- i = t || n,
- s = Ke.from(i.headers)
- let a = i.data
- return (
- S.forEach(e, function (r) {
- a = r.call(n, a, s.normalize(), t ? t.status : void 0)
- }),
- s.normalize(),
- a
- )
- }
- function hc(e) {
- return !!(e && e.__CANCEL__)
- }
- function Pn(e, t, n) {
- te.call(this, e ?? 'canceled', te.ERR_CANCELED, t, n), (this.name = 'CanceledError')
- }
- S.inherits(Pn, te, { __CANCEL__: !0 })
- function vc(e, t, n) {
- const i = n.config.validateStatus
- !n.status || !i || i(n.status)
- ? e(n)
- : t(
- new te(
- 'Request failed with status code ' + n.status,
- [te.ERR_BAD_REQUEST, te.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4],
- n.config,
- n.request,
- n
- )
- )
- }
- function VI(e) {
- const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e)
- return (t && t[1]) || ''
- }
- function QI(e, t) {
- e = e || 10
- const n = new Array(e),
- i = new Array(e)
- let s = 0,
- a = 0,
- o
- return (
- (t = t !== void 0 ? t : 1e3),
- function (l) {
- const d = Date.now(),
- c = i[a]
- o || (o = d), (n[s] = l), (i[s] = d)
- let A = a,
- g = 0
- for (; A !== s; ) (g += n[A++]), (A = A % e)
- if (((s = (s + 1) % e), s === a && (a = (a + 1) % e), d - o < t)) return
- const b = c && d - c
- return b ? Math.round((g * 1e3) / b) : void 0
- }
- )
- }
- function XI(e, t) {
- let n = 0,
- i = 1e3 / t,
- s,
- a
- const o = (d, c = Date.now()) => {
- ;(n = c), (s = null), a && (clearTimeout(a), (a = null)), e.apply(null, d)
- }
- return [
- (...d) => {
- const c = Date.now(),
- A = c - n
- A >= i
- ? o(d, c)
- : ((s = d),
- a ||
- (a = setTimeout(() => {
- ;(a = null), o(s)
- }, i - A)))
- },
- () => s && o(s),
- ]
- }
- const Hi = (e, t, n = 3) => {
- let i = 0
- const s = QI(50, 250)
- return XI((a) => {
- const o = a.loaded,
- r = a.lengthComputable ? a.total : void 0,
- l = o - i,
- d = s(l),
- c = o <= r
- i = o
- const A = {
- loaded: o,
- total: r,
- progress: r ? o / r : void 0,
- bytes: l,
- rate: d || void 0,
- estimated: d && r && c ? (r - o) / d : void 0,
- event: a,
- lengthComputable: r != null,
- [t ? 'download' : 'upload']: !0,
- }
- e(A)
- }, n)
- },
- br = (e, t) => {
- const n = e != null
- return [(i) => t[0]({ lengthComputable: n, total: e, loaded: i }), t[1]]
- },
- hr =
- (e) =>
- (...t) =>
- S.asap(() => e(...t)),
- PI = Ce.hasStandardBrowserEnv
- ? ((e, t) => (n) => (
- (n = new URL(n, Ce.origin)), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)
- ))(new URL(Ce.origin), Ce.navigator && /(msie|trident)/i.test(Ce.navigator.userAgent))
- : () => !0,
- HI = Ce.hasStandardBrowserEnv
- ? {
- write(e, t, n, i, s, a) {
- const o = [e + '=' + encodeURIComponent(t)]
- S.isNumber(n) && o.push('expires=' + new Date(n).toGMTString()),
- S.isString(i) && o.push('path=' + i),
- S.isString(s) && o.push('domain=' + s),
- a === !0 && o.push('secure'),
- (document.cookie = o.join('; '))
- },
- read(e) {
- const t = document.cookie.match(new RegExp('(^|;\\s*)(' + e + ')=([^;]*)'))
- return t ? decodeURIComponent(t[3]) : null
- },
- remove(e) {
- this.write(e, '', Date.now() - 864e5)
- },
- }
- : {
- write() {},
- read() {
- return null
- },
- remove() {},
- }
- function KI(e) {
- return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)
- }
- function qI(e, t) {
- return t ? e.replace(/\/?\/$/, '') + '/' + t.replace(/^\/+/, '') : e
- }
- function mc(e, t, n) {
- let i = !KI(t)
- return (e && i) || n == !1 ? qI(e, t) : t
- }
- const vr = (e) => (e instanceof Ke ? { ...e } : e)
- function fn(e, t) {
- t = t || {}
- const n = {}
- function i(d, c, A, g) {
- return S.isPlainObject(d) && S.isPlainObject(c)
- ? S.merge.call({ caseless: g }, d, c)
- : S.isPlainObject(c)
- ? S.merge({}, c)
- : S.isArray(c)
- ? c.slice()
- : c
- }
- function s(d, c, A, g) {
- if (S.isUndefined(c)) {
- if (!S.isUndefined(d)) return i(void 0, d, A, g)
- } else return i(d, c, A, g)
- }
- function a(d, c) {
- if (!S.isUndefined(c)) return i(void 0, c)
- }
- function o(d, c) {
- if (S.isUndefined(c)) {
- if (!S.isUndefined(d)) return i(void 0, d)
- } else return i(void 0, c)
- }
- function r(d, c, A) {
- if (A in t) return i(d, c)
- if (A in e) return i(void 0, d)
- }
- const l = {
- url: a,
- method: a,
- data: a,
- baseURL: o,
- transformRequest: o,
- transformResponse: o,
- paramsSerializer: o,
- timeout: o,
- timeoutMessage: o,
- withCredentials: o,
- withXSRFToken: o,
- adapter: o,
- responseType: o,
- xsrfCookieName: o,
- xsrfHeaderName: o,
- onUploadProgress: o,
- onDownloadProgress: o,
- decompress: o,
- maxContentLength: o,
- maxBodyLength: o,
- beforeRedirect: o,
- transport: o,
- httpAgent: o,
- httpsAgent: o,
- cancelToken: o,
- socketPath: o,
- responseEncoding: o,
- validateStatus: r,
- headers: (d, c, A) => s(vr(d), vr(c), A, !0),
- }
- return (
- S.forEach(Object.keys(Object.assign({}, e, t)), function (c) {
- const A = l[c] || s,
- g = A(e[c], t[c], c)
- ;(S.isUndefined(g) && A !== r) || (n[c] = g)
- }),
- n
- )
- }
- const yc = (e) => {
- const t = fn({}, e)
- let { data: n, withXSRFToken: i, xsrfHeaderName: s, xsrfCookieName: a, headers: o, auth: r } = t
- ;(t.headers = o = Ke.from(o)),
- (t.url = gc(mc(t.baseURL, t.url), e.params, e.paramsSerializer)),
- r &&
- o.set(
- 'Authorization',
- 'Basic ' + btoa((r.username || '') + ':' + (r.password ? unescape(encodeURIComponent(r.password)) : ''))
- )
- let l
- if (S.isFormData(n)) {
- if (Ce.hasStandardBrowserEnv || Ce.hasStandardBrowserWebWorkerEnv) o.setContentType(void 0)
- else if ((l = o.getContentType()) !== !1) {
- const [d, ...c] = l
- ? l
- .split(';')
- .map((A) => A.trim())
- .filter(Boolean)
- : []
- o.setContentType([d || 'multipart/form-data', ...c].join('; '))
- }
- }
- if (Ce.hasStandardBrowserEnv && (i && S.isFunction(i) && (i = i(t)), i || (i !== !1 && PI(t.url)))) {
- const d = s && a && HI.read(a)
- d && o.set(s, d)
- }
- return t
- },
- _I = typeof XMLHttpRequest < 'u',
- $I =
- _I &&
- function (e) {
- return new Promise(function (n, i) {
- const s = yc(e)
- let a = s.data
- const o = Ke.from(s.headers).normalize()
- let { responseType: r, onUploadProgress: l, onDownloadProgress: d } = s,
- c,
- A,
- g,
- b,
- u
- function p() {
- b && b(),
- u && u(),
- s.cancelToken && s.cancelToken.unsubscribe(c),
- s.signal && s.signal.removeEventListener('abort', c)
- }
- let v = new XMLHttpRequest()
- v.open(s.method.toUpperCase(), s.url, !0), (v.timeout = s.timeout)
- function f() {
- if (!v) return
- const R = Ke.from('getAllResponseHeaders' in v && v.getAllResponseHeaders()),
- y = {
- data: !r || r === 'text' || r === 'json' ? v.responseText : v.response,
- status: v.status,
- statusText: v.statusText,
- headers: R,
- config: e,
- request: v,
- }
- vc(
- function (m) {
- n(m), p()
- },
- function (m) {
- i(m), p()
- },
- y
- ),
- (v = null)
- }
- 'onloadend' in v
- ? (v.onloadend = f)
- : (v.onreadystatechange = function () {
- !v ||
- v.readyState !== 4 ||
- (v.status === 0 && !(v.responseURL && v.responseURL.indexOf('file:') === 0)) ||
- setTimeout(f)
- }),
- (v.onabort = function () {
- v && (i(new te('Request aborted', te.ECONNABORTED, e, v)), (v = null))
- }),
- (v.onerror = function () {
- i(new te('Network Error', te.ERR_NETWORK, e, v)), (v = null)
- }),
- (v.ontimeout = function () {
- let I = s.timeout ? 'timeout of ' + s.timeout + 'ms exceeded' : 'timeout exceeded'
- const y = s.transitional || fc
- s.timeoutErrorMessage && (I = s.timeoutErrorMessage),
- i(new te(I, y.clarifyTimeoutError ? te.ETIMEDOUT : te.ECONNABORTED, e, v)),
- (v = null)
- }),
- a === void 0 && o.setContentType(null),
- 'setRequestHeader' in v &&
- S.forEach(o.toJSON(), function (I, y) {
- v.setRequestHeader(y, I)
- }),
- S.isUndefined(s.withCredentials) || (v.withCredentials = !!s.withCredentials),
- r && r !== 'json' && (v.responseType = s.responseType),
- d && (([g, u] = Hi(d, !0)), v.addEventListener('progress', g)),
- l &&
- v.upload &&
- (([A, b] = Hi(l)), v.upload.addEventListener('progress', A), v.upload.addEventListener('loadend', b)),
- (s.cancelToken || s.signal) &&
- ((c = (R) => {
- v && (i(!R || R.type ? new Pn(null, e, v) : R), v.abort(), (v = null))
- }),
- s.cancelToken && s.cancelToken.subscribe(c),
- s.signal && (s.signal.aborted ? c() : s.signal.addEventListener('abort', c)))
- const w = VI(s.url)
- if (w && Ce.protocols.indexOf(w) === -1) {
- i(new te('Unsupported protocol ' + w + ':', te.ERR_BAD_REQUEST, e))
- return
- }
- v.send(a || null)
- })
- },
- e1 = (e, t) => {
- const { length: n } = (e = e ? e.filter(Boolean) : [])
- if (t || n) {
- let i = new AbortController(),
- s
- const a = function (d) {
- if (!s) {
- ;(s = !0), r()
- const c = d instanceof Error ? d : this.reason
- i.abort(c instanceof te ? c : new Pn(c instanceof Error ? c.message : c))
- }
- }
- let o =
- t &&
- setTimeout(() => {
- ;(o = null), a(new te(`timeout ${t} of ms exceeded`, te.ETIMEDOUT))
- }, t)
- const r = () => {
- e &&
- (o && clearTimeout(o),
- (o = null),
- e.forEach((d) => {
- d.unsubscribe ? d.unsubscribe(a) : d.removeEventListener('abort', a)
- }),
- (e = null))
- }
- e.forEach((d) => d.addEventListener('abort', a))
- const { signal: l } = i
- return (l.unsubscribe = () => S.asap(r)), l
- }
- },
- t1 = function* (e, t) {
- let n = e.byteLength
- if (n < t) {
- yield e
- return
- }
- let i = 0,
- s
- for (; i < n; ) (s = i + t), yield e.slice(i, s), (i = s)
- },
- n1 = async function* (e, t) {
- for await (const n of i1(e)) yield* t1(n, t)
- },
- i1 = async function* (e) {
- if (e[Symbol.asyncIterator]) {
- yield* e
- return
- }
- const t = e.getReader()
- try {
- for (;;) {
- const { done: n, value: i } = await t.read()
- if (n) break
- yield i
- }
- } finally {
- await t.cancel()
- }
- },
- mr = (e, t, n, i) => {
- const s = n1(e, t)
- let a = 0,
- o,
- r = (l) => {
- o || ((o = !0), i && i(l))
- }
- return new ReadableStream(
- {
- async pull(l) {
- try {
- const { done: d, value: c } = await s.next()
- if (d) {
- r(), l.close()
- return
- }
- let A = c.byteLength
- if (n) {
- let g = (a += A)
- n(g)
- }
- l.enqueue(new Uint8Array(c))
- } catch (d) {
- throw (r(d), d)
- }
- },
- cancel(l) {
- return r(l), s.return()
- },
- },
- { highWaterMark: 2 }
- )
- },
- hs = typeof fetch == 'function' && typeof Request == 'function' && typeof Response == 'function',
- wc = hs && typeof ReadableStream == 'function',
- s1 =
- hs &&
- (typeof TextEncoder == 'function'
- ? (
- (e) => (t) =>
- e.encode(t)
- )(new TextEncoder())
- : async (e) => new Uint8Array(await new Response(e).arrayBuffer())),
- Rc = (e, ...t) => {
- try {
- return !!e(...t)
- } catch {
- return !1
- }
- },
- o1 =
- wc &&
- Rc(() => {
- let e = !1
- const t = new Request(Ce.origin, {
- body: new ReadableStream(),
- method: 'POST',
- get duplex() {
- return (e = !0), 'half'
- },
- }).headers.has('Content-Type')
- return e && !t
- }),
- yr = 64 * 1024,
- no = wc && Rc(() => S.isReadableStream(new Response('').body)),
- Ki = { stream: no && ((e) => e.body) }
- hs &&
- ((e) => {
- ;['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((t) => {
- !Ki[t] &&
- (Ki[t] = S.isFunction(e[t])
- ? (n) => n[t]()
- : (n, i) => {
- throw new te(`Response type '${t}' is not supported`, te.ERR_NOT_SUPPORT, i)
- })
- })
- })(new Response())
- const a1 = async (e) => {
- if (e == null) return 0
- if (S.isBlob(e)) return e.size
- if (S.isSpecCompliantForm(e))
- return (await new Request(Ce.origin, { method: 'POST', body: e }).arrayBuffer()).byteLength
- if (S.isArrayBufferView(e) || S.isArrayBuffer(e)) return e.byteLength
- if ((S.isURLSearchParams(e) && (e = e + ''), S.isString(e))) return (await s1(e)).byteLength
- },
- r1 = async (e, t) => {
- const n = S.toFiniteNumber(e.getContentLength())
- return n ?? a1(t)
- },
- l1 =
- hs &&
- (async (e) => {
- let {
- url: t,
- method: n,
- data: i,
- signal: s,
- cancelToken: a,
- timeout: o,
- onDownloadProgress: r,
- onUploadProgress: l,
- responseType: d,
- headers: c,
- withCredentials: A = 'same-origin',
- fetchOptions: g,
- } = yc(e)
- d = d ? (d + '').toLowerCase() : 'text'
- let b = e1([s, a && a.toAbortSignal()], o),
- u
- const p =
- b &&
- b.unsubscribe &&
- (() => {
- b.unsubscribe()
- })
- let v
- try {
- if (l && o1 && n !== 'get' && n !== 'head' && (v = await r1(c, i)) !== 0) {
- let y = new Request(t, { method: 'POST', body: i, duplex: 'half' }),
- E
- if ((S.isFormData(i) && (E = y.headers.get('content-type')) && c.setContentType(E), y.body)) {
- const [m, j] = br(v, Hi(hr(l)))
- i = mr(y.body, yr, m, j)
- }
- }
- S.isString(A) || (A = A ? 'include' : 'omit')
- const f = 'credentials' in Request.prototype
- u = new Request(t, {
- ...g,
- signal: b,
- method: n.toUpperCase(),
- headers: c.normalize().toJSON(),
- body: i,
- duplex: 'half',
- credentials: f ? A : void 0,
- })
- let w = await fetch(u)
- const R = no && (d === 'stream' || d === 'response')
- if (no && (r || (R && p))) {
- const y = {}
- ;['status', 'statusText', 'headers'].forEach((U) => {
- y[U] = w[U]
- })
- const E = S.toFiniteNumber(w.headers.get('content-length')),
- [m, j] = (r && br(E, Hi(hr(r), !0))) || []
- w = new Response(
- mr(w.body, yr, m, () => {
- j && j(), p && p()
- }),
- y
- )
- }
- d = d || 'text'
- let I = await Ki[S.findKey(Ki, d) || 'text'](w, e)
- return (
- !R && p && p(),
- await new Promise((y, E) => {
- vc(y, E, {
- data: I,
- headers: Ke.from(w.headers),
- status: w.status,
- statusText: w.statusText,
- config: e,
- request: u,
- })
- })
- )
- } catch (f) {
- throw (
- (p && p(),
- f && f.name === 'TypeError' && /fetch/i.test(f.message)
- ? Object.assign(new te('Network Error', te.ERR_NETWORK, e, u), { cause: f.cause || f })
- : te.from(f, f && f.code, e, u))
- )
- }
- }),
- io = { http: II, xhr: $I, fetch: l1 }
- S.forEach(io, (e, t) => {
- if (e) {
- try {
- Object.defineProperty(e, 'name', { value: t })
- } catch {}
- Object.defineProperty(e, 'adapterName', { value: t })
- }
- })
- const wr = (e) => `- ${e}`,
- c1 = (e) => S.isFunction(e) || e === null || e === !1,
- Ic = {
- getAdapter: (e) => {
- e = S.isArray(e) ? e : [e]
- const { length: t } = e
- let n, i
- const s = {}
- for (let a = 0; a < t; a++) {
- n = e[a]
- let o
- if (((i = n), !c1(n) && ((i = io[(o = String(n)).toLowerCase()]), i === void 0)))
- throw new te(`Unknown adapter '${o}'`)
- if (i) break
- s[o || '#' + a] = i
- }
- if (!i) {
- const a = Object.entries(s).map(
- ([r, l]) =>
- `adapter ${r} ` + (l === !1 ? 'is not supported by the environment' : 'is not available in the build')
- )
- let o = t
- ? a.length > 1
- ? `since :
- ` +
- a.map(wr).join(`
- `)
- : ' ' + wr(a[0])
- : 'as no adapter specified'
- throw new te('There is no suitable adapter to dispatch the request ' + o, 'ERR_NOT_SUPPORT')
- }
- return i
- },
- adapters: io,
- }
- function Gs(e) {
- if ((e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)) throw new Pn(null, e)
- }
- function Rr(e) {
- return (
- Gs(e),
- (e.headers = Ke.from(e.headers)),
- (e.data = js.call(e, e.transformRequest)),
- ['post', 'put', 'patch'].indexOf(e.method) !== -1 &&
- e.headers.setContentType('application/x-www-form-urlencoded', !1),
- Ic.getAdapter(e.adapter || vi.adapter)(e).then(
- function (i) {
- return Gs(e), (i.data = js.call(e, e.transformResponse, i)), (i.headers = Ke.from(i.headers)), i
- },
- function (i) {
- return (
- hc(i) ||
- (Gs(e),
- i &&
- i.response &&
- ((i.response.data = js.call(e, e.transformResponse, i.response)),
- (i.response.headers = Ke.from(i.response.headers)))),
- Promise.reject(i)
- )
- }
- )
- )
- }
- const Ec = '1.8.1',
- vs = {}
- ;['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((e, t) => {
- vs[e] = function (i) {
- return typeof i === e || 'a' + (t < 1 ? 'n ' : ' ') + e
- }
- })
- const Ir = {}
- vs.transitional = function (t, n, i) {
- function s(a, o) {
- return '[Axios v' + Ec + "] Transitional option '" + a + "'" + o + (i ? '. ' + i : '')
- }
- return (a, o, r) => {
- if (t === !1) throw new te(s(o, ' has been removed' + (n ? ' in ' + n : '')), te.ERR_DEPRECATED)
- return n && !Ir[o] && (Ir[o] = !0), t ? t(a, o, r) : !0
- }
- }
- vs.spelling = function (t) {
- return (n, i) => !0
- }
- function u1(e, t, n) {
- if (typeof e != 'object') throw new te('options must be an object', te.ERR_BAD_OPTION_VALUE)
- const i = Object.keys(e)
- let s = i.length
- for (; s-- > 0; ) {
- const a = i[s],
- o = t[a]
- if (o) {
- const r = e[a],
- l = r === void 0 || o(r, a, e)
- if (l !== !0) throw new te('option ' + a + ' must be ' + l, te.ERR_BAD_OPTION_VALUE)
- continue
- }
- if (n !== !0) throw new te('Unknown option ' + a, te.ERR_BAD_OPTION)
- }
- }
- const zi = { assertOptions: u1, validators: vs },
- It = zi.validators
- let rn = class {
- constructor(t) {
- ;(this.defaults = t), (this.interceptors = { request: new gr(), response: new gr() })
- }
- async request(t, n) {
- try {
- return await this._request(t, n)
- } catch (i) {
- if (i instanceof Error) {
- let s = {}
- Error.captureStackTrace ? Error.captureStackTrace(s) : (s = new Error())
- const a = s.stack ? s.stack.replace(/^.+\n/, '') : ''
- try {
- i.stack
- ? a &&
- !String(i.stack).endsWith(a.replace(/^.+\n.+\n/, '')) &&
- (i.stack +=
- `
- ` + a)
- : (i.stack = a)
- } catch {}
- }
- throw i
- }
- }
- _request(t, n) {
- typeof t == 'string' ? ((n = n || {}), (n.url = t)) : (n = t || {}), (n = fn(this.defaults, n))
- const { transitional: i, paramsSerializer: s, headers: a } = n
- i !== void 0 &&
- zi.assertOptions(
- i,
- {
- silentJSONParsing: It.transitional(It.boolean),
- forcedJSONParsing: It.transitional(It.boolean),
- clarifyTimeoutError: It.transitional(It.boolean),
- },
- !1
- ),
- s != null &&
- (S.isFunction(s)
- ? (n.paramsSerializer = { serialize: s })
- : zi.assertOptions(s, { encode: It.function, serialize: It.function }, !0)),
- n.allowAbsoluteUrls !== void 0 ||
- (this.defaults.allowAbsoluteUrls !== void 0
- ? (n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls)
- : (n.allowAbsoluteUrls = !0)),
- zi.assertOptions(n, { baseUrl: It.spelling('baseURL'), withXsrfToken: It.spelling('withXSRFToken') }, !0),
- (n.method = (n.method || this.defaults.method || 'get').toLowerCase())
- let o = a && S.merge(a.common, a[n.method])
- a &&
- S.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (u) => {
- delete a[u]
- }),
- (n.headers = Ke.concat(o, a))
- const r = []
- let l = !0
- this.interceptors.request.forEach(function (p) {
- ;(typeof p.runWhen == 'function' && p.runWhen(n) === !1) ||
- ((l = l && p.synchronous), r.unshift(p.fulfilled, p.rejected))
- })
- const d = []
- this.interceptors.response.forEach(function (p) {
- d.push(p.fulfilled, p.rejected)
- })
- let c,
- A = 0,
- g
- if (!l) {
- const u = [Rr.bind(this), void 0]
- for (u.unshift.apply(u, r), u.push.apply(u, d), g = u.length, c = Promise.resolve(n); A < g; )
- c = c.then(u[A++], u[A++])
- return c
- }
- g = r.length
- let b = n
- for (A = 0; A < g; ) {
- const u = r[A++],
- p = r[A++]
- try {
- b = u(b)
- } catch (v) {
- p.call(this, v)
- break
- }
- }
- try {
- c = Rr.call(this, b)
- } catch (u) {
- return Promise.reject(u)
- }
- for (A = 0, g = d.length; A < g; ) c = c.then(d[A++], d[A++])
- return c
- }
- getUri(t) {
- t = fn(this.defaults, t)
- const n = mc(t.baseURL, t.url, t.allowAbsoluteUrls)
- return gc(n, t.params, t.paramsSerializer)
- }
- }
- S.forEach(['delete', 'get', 'head', 'options'], function (t) {
- rn.prototype[t] = function (n, i) {
- return this.request(fn(i || {}, { method: t, url: n, data: (i || {}).data }))
- }
- })
- S.forEach(['post', 'put', 'patch'], function (t) {
- function n(i) {
- return function (a, o, r) {
- return this.request(
- fn(r || {}, { method: t, headers: i ? { 'Content-Type': 'multipart/form-data' } : {}, url: a, data: o })
- )
- }
- }
- ;(rn.prototype[t] = n()), (rn.prototype[t + 'Form'] = n(!0))
- })
- let d1 = class Mc {
- constructor(t) {
- if (typeof t != 'function') throw new TypeError('executor must be a function.')
- let n
- this.promise = new Promise(function (a) {
- n = a
- })
- const i = this
- this.promise.then((s) => {
- if (!i._listeners) return
- let a = i._listeners.length
- for (; a-- > 0; ) i._listeners[a](s)
- i._listeners = null
- }),
- (this.promise.then = (s) => {
- let a
- const o = new Promise((r) => {
- i.subscribe(r), (a = r)
- }).then(s)
- return (
- (o.cancel = function () {
- i.unsubscribe(a)
- }),
- o
- )
- }),
- t(function (a, o, r) {
- i.reason || ((i.reason = new Pn(a, o, r)), n(i.reason))
- })
- }
- throwIfRequested() {
- if (this.reason) throw this.reason
- }
- subscribe(t) {
- if (this.reason) {
- t(this.reason)
- return
- }
- this._listeners ? this._listeners.push(t) : (this._listeners = [t])
- }
- unsubscribe(t) {
- if (!this._listeners) return
- const n = this._listeners.indexOf(t)
- n !== -1 && this._listeners.splice(n, 1)
- }
- toAbortSignal() {
- const t = new AbortController(),
- n = (i) => {
- t.abort(i)
- }
- return this.subscribe(n), (t.signal.unsubscribe = () => this.unsubscribe(n)), t.signal
- }
- static source() {
- let t
- return {
- token: new Mc(function (s) {
- t = s
- }),
- cancel: t,
- }
- }
- }
- function p1(e) {
- return function (n) {
- return e.apply(null, n)
- }
- }
- function A1(e) {
- return S.isObject(e) && e.isAxiosError === !0
- }
- const so = {
- Continue: 100,
- SwitchingProtocols: 101,
- Processing: 102,
- EarlyHints: 103,
- Ok: 200,
- Created: 201,
- Accepted: 202,
- NonAuthoritativeInformation: 203,
- NoContent: 204,
- ResetContent: 205,
- PartialContent: 206,
- MultiStatus: 207,
- AlreadyReported: 208,
- ImUsed: 226,
- MultipleChoices: 300,
- MovedPermanently: 301,
- Found: 302,
- SeeOther: 303,
- NotModified: 304,
- UseProxy: 305,
- Unused: 306,
- TemporaryRedirect: 307,
- PermanentRedirect: 308,
- BadRequest: 400,
- Unauthorized: 401,
- PaymentRequired: 402,
- Forbidden: 403,
- NotFound: 404,
- MethodNotAllowed: 405,
- NotAcceptable: 406,
- ProxyAuthenticationRequired: 407,
- RequestTimeout: 408,
- Conflict: 409,
- Gone: 410,
- LengthRequired: 411,
- PreconditionFailed: 412,
- PayloadTooLarge: 413,
- UriTooLong: 414,
- UnsupportedMediaType: 415,
- RangeNotSatisfiable: 416,
- ExpectationFailed: 417,
- ImATeapot: 418,
- MisdirectedRequest: 421,
- UnprocessableEntity: 422,
- Locked: 423,
- FailedDependency: 424,
- TooEarly: 425,
- UpgradeRequired: 426,
- PreconditionRequired: 428,
- TooManyRequests: 429,
- RequestHeaderFieldsTooLarge: 431,
- UnavailableForLegalReasons: 451,
- InternalServerError: 500,
- NotImplemented: 501,
- BadGateway: 502,
- ServiceUnavailable: 503,
- GatewayTimeout: 504,
- HttpVersionNotSupported: 505,
- VariantAlsoNegotiates: 506,
- InsufficientStorage: 507,
- LoopDetected: 508,
- NotExtended: 510,
- NetworkAuthenticationRequired: 511,
- }
- Object.entries(so).forEach(([e, t]) => {
- so[t] = e
- })
- function Dc(e) {
- const t = new rn(e),
- n = ic(rn.prototype.request, t)
- return (
- S.extend(n, rn.prototype, t, { allOwnKeys: !0 }),
- S.extend(n, t, null, { allOwnKeys: !0 }),
- (n.create = function (s) {
- return Dc(fn(e, s))
- }),
- n
- )
- }
- const De = Dc(vi)
- De.Axios = rn
- De.CanceledError = Pn
- De.CancelToken = d1
- De.isCancel = hc
- De.VERSION = Ec
- De.toFormData = bs
- De.AxiosError = te
- De.Cancel = De.CanceledError
- De.all = function (t) {
- return Promise.all(t)
- }
- De.spread = p1
- De.isAxiosError = A1
- De.mergeConfig = fn
- De.AxiosHeaders = Ke
- De.formToJSON = (e) => bc(S.isHTMLForm(e) ? new FormData(e) : e)
- De.getAdapter = Ic.getAdapter
- De.HttpStatusCode = so
- De.default = De
- const {
- Axios: EE,
- AxiosError: ME,
- CanceledError: DE,
- isCancel: ZE,
- CancelToken: SE,
- VERSION: NE,
- all: jE,
- Cancel: GE,
- isAxiosError: kE,
- spread: BE,
- toFormData: YE,
- AxiosHeaders: UE,
- HttpStatusCode: TE,
- formToJSON: JE,
- getAdapter: CE,
- mergeConfig: OE,
- } = De,
- Hn = (e) => {
- const t = De.create({ timeout: 12e4, ...e })
- return (
- t.interceptors.response.use(
- (n) => n,
- (n) => {
- let { message: i } = n
- return (
- i == 'Network Error'
- ? (i = '后端接口连接异常')
- : i.includes('timeout')
- ? (i = '系统接口请求超时')
- : i.includes('Request failed with status code') && (i = '系统接口' + i.substr(i.length - 3) + '异常'),
- Im({ message: i, type: 'error', offset: 90 }),
- Promise.reject(n)
- )
- }
- ),
- t
- )
- }
- Hn({ baseURL: 'https://cimweb.zjw.sh.cegn.cn:2008/', method: 'post' })
- Hn({ baseURL: 'https://cimweb.zjw.sh.cegn.cn:2008/', method: 'get' })
- Hn({ baseURL: 'https://cimweb.zjw.sh.cegn.cn:2007/data-business-prod/', method: 'post' })
- Hn({ baseURL: 'https://cimweb.zjw.sh.cegn.cn:2007/data-business-prod/', method: 'get' })
- Hn({ baseURL: 'http://58.34.215.19:8095/low-altitude/', method: 'post' })
- Hn({ baseURL: 'http://10.90.9.143:9252/', method: 'post' })
- function qt(e, t) {
- Uo.bridgeContent.Invoke({ ActionName: e, Parameters: { ...t } })
- }
- function g1(e, t, n, i, s, a = !0) {
- qt('SetLocation', { x: e, y: t, z: n, heading: i, tilt: s, isfly: a })
- }
- function Zc() {
- qt('AddBaseMapAnSeLayer', { id: 'BaseMap', title: 'BaseMap', visible: !0, opacity: 1 })
- }
- function f1() {
- qt('AddBaseMapSuSeLayer', { id: 'BaseMap', title: 'BaseMap', visible: !0, opacity: 1 })
- }
- function b1(e) {
- qt('AddYaoGanLayer', { id: 'YaoGan', title: 'YaoGan', type: 'tile', visible: e, opacity: 1 })
- }
- async function h1(e) {
- e.title == '影像底图' && b1(e.visible),
- e.title == '全市白模' &&
- qt('AddWhiteMoldLayer', { id: 'WhiteMold', title: 'WhiteMold', type: 'scene', visible: e.visible, opacity: 1 })
- }
- function Sc() {
- qt('Draw', { status: 'hide' })
- }
- function Nc(e) {
- qt('Draw', { type: 'polygon', clear: !0, hasZ: (e == null ? void 0 : e.hasZ) || !1, token: '' })
- }
- function qi(e) {
- qt(e.evaluation ? 'GetPowerCube' : 'GetOccupyCube', {
- id: e.id || 'QueryCube',
- status: e.show ? 'show' : 'hide',
- deepShow: e.deepShow ? e.deepShow : !1,
- level: e.level,
- minZ: e.minZ,
- maxZ: e.maxZ,
- rings: e.rings,
- token: '',
- })
- }
- const v1 = ['onClick'],
- m1 = ['src'],
- y1 = {
- __name: 'BaseMap',
- emits: ['mouseMove'],
- setup(e, { emit: t }) {
- const n = Qn(),
- i = C([
- { id: 'dark', title: '深色', pic: 'basemap-dark' },
- { id: 'light', title: '浅色', pic: 'basemap-light' },
- ])
- function s(r) {
- if (r !== n.mapScene)
- switch ((n.setMapScene(r), r)) {
- case 'dark':
- Zc()
- break
- case 'light':
- f1()
- break
- }
- }
- const a = t
- function o(r) {
- a('mouseMove', r)
- }
- return (r, l) => (
- Z(),
- T(
- 'ul',
- {
- class: 'base-map',
- onMouseleave: l[0] || (l[0] = (d) => o('leave')),
- onMouseenter: l[1] || (l[1] = (d) => o('enter')),
- },
- [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- i.value,
- (d) => (
- Z(),
- T(
- 'li',
- { onClick: Ze((c) => s(d.id), ['stop']) },
- [
- Y(
- 'img',
- { src: h(Yo)('page/' + d.pic + (h(n).mapScene === d.id ? '-h.png' : '.png')), alt: '' },
- null,
- 8,
- m1
- ),
- Y('span', null, ce(d.title), 1),
- ],
- 8,
- v1
- )
- )
- ),
- 256
- )),
- ],
- 32
- )
- )
- },
- },
- w1 = Kt(y1, [['__scopeId', 'data-v-e0d026d1']]),
- R1 = [
- [2793.864599595192, 901.658704419662, 0],
- [2793.6509009229326, 901.0123508696659, 100],
- [2798.557835382849, 960.97592212866, 100],
- [2847.499187535616, 1003.583154753295, 100],
- [2912.552128329501, 1039.626331293216, 99.99999999906868],
- [3071.1961524066214, 1107.577257156012, 100.00000000209548],
- [3278.347727182615, 1176.6387484848105, 99.99999999860302],
- [3400.2541650048834, 1200.4015748868385, 100.00000000093132],
- [3481.377674740545, 1212.9278557111718, 99.99999999720603],
- [3572.9939249743356, 1214.6717122521584, 100.00000000279397],
- [3662.1252360307035, 1229.9645778602462, 100],
- [3749.04097395513, 1229.9309347879573, 100.00000000093132],
- [3823.7009391081147, 1221.990974433195, 99.99999999906868],
- [3899.681462008697, 1225.7976213664222, 99.99999999813735],
- [4059.050414990652, 1171.4603758058506, 99.99999999906868],
- [4029.8655992358576, 1097.8677174668455, 100],
- [4028.35425303478, 1099.2525115894166, 0],
- ],
- I1 = [
- [1402.1217227804018, 348.37421585662935, 0],
- [1401.9080241081424, 347.72786230663326, 100.00000000279397],
- [1418.0720522801462, 411.97922736945713, 100.00000000186265],
- [1455.7563107208257, 450.29866619026245, 100.00000000279397],
- [1520.809251514711, 486.34184273018343, 100.00000000186265],
- [1679.4532755918312, 554.2927685929793, 100.00000000488944],
- [1886.6048503678248, 623.3542599217783, 100.00000000139698],
- [2008.5112881900932, 647.1170863238062, 100.00000000372529],
- [2089.634797925755, 659.6433671481394, 100],
- [2181.251048159546, 661.387223689126, 100.00000000558794],
- [2270.3823592159138, 676.6800892972137, 100.00000000279397],
- [2357.29809714034, 676.6464462249247, 100.00000000372529],
- [2431.958062293325, 668.7064858701631, 100.00000000186265],
- [2507.9385851939073, 672.5131328033896, 100.00000000093132],
- [2667.307538175862, 618.1758872428185, 100.00000000186265],
- [2638.1227224210675, 544.5832289038129, 100.00000000279397],
- [2636.61137621999, 545.968023026384, 0],
- ],
- E1 = [
- [2430.7350154096725, 217.2340145229527, 0],
- [2430.521316737413, 216.5876609729566, 99.99999999906868],
- [2434.961072770454, 189.01877223989482, 99.99999999906868],
- [2439.400828803495, 161.44988350683306, 99.99999999906868],
- [2454.0950554082074, 134.0376967409726, 99.99999999953434],
- [2468.78928201292, 106.62550997511212, 100],
- [2490.6404054209615, 84.35878527660374, 99.99999999860302],
- [2512.4915288290035, 62.09206057809536, 99.99999999720603],
- [2543.3158266027954, 30.306075153252795, 99.9999999977299],
- [2574.140124376587, -1.479910271589763, 99.99999999825377],
- [2604.871802260764, -31.858519253953876, 99.99999999877764],
- [2635.603480144941, -62.23712823631799, 99.99999999930151],
- [2668.5979849326986, -94.42764964160654, 100.0000000007567],
- [2699.988639087573, -125.46742031636052, 100.00000000034925],
- [2732.411532140508, -153.27240439923366, 99.99999999994179],
- [2764.8344251934423, -181.07738848210684, 99.99999999953434],
- [2802.369345797033, -207.4924932534358, 99.99999999959255],
- [2839.904266400624, -233.90759802476478, 99.99999999965075],
- [2875.5872352358456, -260.8085492725266, 99.99999999970896],
- [2911.270204071067, -287.7095005202884, 99.99999999976717],
- [2948.325552706232, -313.00456930892733, 99.99999999982538],
- [2985.380901341397, -338.29963809756623, 99.99999999988358],
- [3022.436249976562, -363.59470688620513, 99.99999999994179],
- [3059.491598611727, -388.88977567484403, 100],
- [3159.917209343701, -502.68096557465793, 99.99999999906868],
- [3195.5171432122784, -551.7791554054247, 99.99999999906868],
- [3253.5378259417926, -614.2565144157488, 100],
- [3310.431345031931, -707.9072436123589, 100],
- [3238.0301298849827, -774.4059018377725, 99.9999999976717],
- [3189.043279460794, -822.3702496583892, 99.99999999930151],
- [3138.5608017623194, -862.4484319194032, 99.99999999877764],
- [3073.4600531235665, -926.408580346081, 100.00000000011642],
- [3027.5815529370266, -964.6293646970702, 100.00000000145519],
- [2997.7406895326567, -992.6158518535822, 100.00000000119326],
- [2972.542023831212, -1015.2126689856104, 100.00000000013097],
- [2941.6197549998237, -1042.7275903900004, 99.99999999906868],
- [2921.002776521226, -1060.334465348369, 100.00000000093132],
- [2868.70642126298, -1103.2681344438438, 99.99999999906868],
- [2840.758029417479, -1130.526485005527, 99.99999999813735],
- [2792.617140809583, -1175.7973589421463, 99.99999999906868],
- [2716.364720491846, -1309.8712829404642, 103.78167193662375],
- [2715.2061671086435, -1311.0999558706123, 0],
- ],
- Gn = { paths1: R1, paths2: I1, paths3: E1 }
- function ln(e, t) {
- Uo.bridgeContent.Invoke({ ActionName: e, Parameters: { ...t } })
- }
- async function _i(e) {
- ln('GeometryMeshEffect', { status: e.status, id: e.id, data: e.data })
- }
- async function M1(e) {
- ln('GetFixedFlyPoint', { id: 'wrj1', status: e.status ? 'show' : 'hide', paths: Gn.paths1 }),
- ln('GetFixedFlyPoint', { id: 'wrj2', status: e.status ? 'show' : 'hide', paths: Gn.paths2 }),
- ln('GetFixedFlyPoint', { id: 'wrj3', status: e.status ? 'show' : 'hide', paths: Gn.paths3 })
- }
- async function D1(e) {
- ln('PathPipe', {
- id: 'wrj1',
- status: e.status ? 'show' : 'hide',
- paths: [Gn.paths1],
- color: '#438EDB',
- intensity: 1.2,
- pipeRadius: 10,
- }),
- ln('PathPipe', {
- id: 'wrj2',
- status: e.status ? 'show' : 'hide',
- paths: [Gn.paths2],
- color: '#438EDB',
- intensity: 1.2,
- pipeRadius: 10,
- }),
- ln('PathPipe', {
- id: 'wrj3',
- status: e.status ? 'show' : 'hide',
- paths: [Gn.paths3],
- color: '#438EDB',
- intensity: 1.2,
- pipeRadius: 10,
- })
- }
- const Z1 = ['onClick', 'title'],
- S1 = ['src', 'onMouseenter'],
- N1 = ['onMouseleave', 'onMouseenter'],
- j1 = ['onClick'],
- G1 = {
- __name: 'ToolList',
- setup(e) {
- const t = Qn()
- is(() => {
- const c = n.value.findIndex((A) => A.id === t.leftPanelType)
- c !== -1 && (n.value[c].active = !0)
- })
- const n = C([
- { id: 'dtqh', name: '底图切换', icon: 'tool-dtqh', active: !1 },
- { id: 'kytc', name: '空域图层', icon: 'tool-kytc', active: !1, leftPanel: !0 },
- {
- name: '栅格占用',
- icon: 'tool-sgzy',
- showSub: !1,
- children: [{ id: 'sgzy', name: '网格查询', active: !1, leftPanel: !0 }],
- },
- { id: 'tsjs', name: '态势监视', icon: 'tool-tsjs', active: !1 },
- ])
- q(
- n,
- (c) => {
- let A = {}
- c.forEach((g) => {
- A[g.id] = g.active
- }),
- (t.toolsActive = A)
- },
- { deep: !0 }
- ),
- q(
- () => t.uavMonitorOn,
- (c) => {
- n.value[0].disabled = c
- }
- )
- function i(c) {
- t.toggleAside('left', !!(c === 'default' && t.rightCollapse)), t.setLeftPanel(c)
- const A = (g) => {
- if ((g.leftPanel && g.id !== c && (g.active = !1), g.children)) {
- for (const b of g.children) A(b)
- g.children.every((b) => !b.active) && (g.active = !1)
- }
- }
- for (const g of n.value) A(g)
- }
- function s(c, A) {
- if (!c.disabled)
- if (A != null) {
- const g = c.children[A],
- b = g.active
- switch (
- (c.children.forEach((u) => {
- u.active = !1
- }),
- (g.active = !b),
- g.id)
- ) {
- case 'sgzy':
- case 'kypm':
- i(g.active ? g.id : 'default')
- break
- }
- } else if (c.children) {
- if (c.children.some((g) => g.active)) {
- c.children.forEach((g) => {
- g.active = !1
- }),
- c.name === '栅格占用' && i('default')
- return
- }
- n.value.forEach((g) => {
- g.showSub = g.name === c.name ? !c.showSub : !1
- })
- } else
- switch (((c.active = !c.active), c.id)) {
- case 'qjll': {
- t.toggleAside('right', c.active),
- t.leftPanelType === 'default' && t.toggleAside('left', c.active),
- (t.floatPanels.kysg && c.active) || t.toggleFooter(c.active)
- break
- }
- case 'kyhs':
- case 'qjchs':
- case 'hxhs':
- case 'kytc':
- i(c.active ? c.id : 'default')
- break
- case 'kysg':
- c.active && t.footerCollapse && t.toggleFooter(!1)
- case 'fcky':
- t.toggleFloatPanel(c.id, c.active)
- break
- case 'tsjs':
- M1({ status: c.active }), D1({ status: c.active })
- }
- }
- q(
- t.floatPanels,
- (c) => {
- for (let [A, g] of Object.entries(c))
- if (!g) {
- const b = n.value.find((u) => u.id === A)
- b && b.active && (b.active = !1)
- }
- },
- { deep: !0 }
- )
- function a(c) {
- c.children && c.children.some((A) => A.active) && (c.showSub = !0)
- }
- let o
- function r(c, A = !1) {
- if (A) {
- clearTimeout(o)
- return
- }
- o = setTimeout(() => {
- c.showSub = !1
- }, 800)
- }
- let l
- function d(c) {
- if (c === 'enter') {
- clearTimeout(l)
- return
- }
- l = setTimeout(() => {
- n.value.find((A) => A.id === 'dtqh').active = !1
- }, 800)
- }
- return (c, A) => (
- Z(),
- T(
- 'ul',
- { class: B(['tool-list', { 'to-right': h(t).rightCollapse }]) },
- [
- (Z(!0),
- T(
- je,
- null,
- Jt(n.value, (g) => {
- var b
- return (
- Z(),
- T(
- 'li',
- { onClick: (u) => s(g), title: g.name, class: B({ disabled: g.disabled }) },
- [
- Y(
- 'img',
- {
- src: h(Yo)(
- 'buttons/' +
- g.icon +
- (g.active || ((b = g.children) != null && b.some((u) => u.active)) ? '-h.png' : '.png')
- ),
- alt: '',
- onMouseenter: (u) => a(g),
- },
- null,
- 40,
- S1
- ),
- P(
- at,
- { name: 'emerge-right' },
- {
- default: x(() => [
- g.id === 'dtqh' && g.active
- ? (Z(), _(w1, { key: 0, class: 'base-map', onMouseMove: d }))
- : X('', !0),
- ]),
- _: 2,
- },
- 1024
- ),
- P(
- at,
- { name: 'emerge-right' },
- {
- default: x(() => [
- g.children && g.showSub
- ? (Z(),
- T(
- 'ul',
- {
- key: 0,
- class: 'sub-wrapper',
- onMouseleave: (u) => r(g),
- onMouseenter: (u) => r(g, !0),
- },
- [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- g.children,
- (u, p) => (
- Z(),
- T(
- 'li',
- { onClick: Ze((v) => s(g, p), ['stop']) },
- [Y('span', { class: B({ active: u.active }) }, ce(u.name), 3)],
- 8,
- j1
- )
- )
- ),
- 256
- )),
- ],
- 40,
- N1
- ))
- : X('', !0),
- ]),
- _: 2,
- },
- 1024
- ),
- ],
- 10,
- Z1
- )
- )
- }),
- 256
- )),
- ],
- 2
- )
- )
- },
- },
- k1 = Kt(G1, [['__scopeId', 'data-v-5f2f0e97']]),
- Oo = co('map', {
- state: () => ({
- scale: null,
- camera: { heading: null, tilt: null, position: { x: null, y: null, z: null } },
- center: null,
- extent: null,
- draw_geometry: null,
- gridCode: null,
- uavId: null,
- flyInfo: null,
- currentUavInfo: null,
- realTimeUAVList: [],
- isFollow: !1,
- queryResult: [],
- cubeResult: {},
- }),
- persist: !0,
- actions: {},
- }),
- B1 = { class: 'flex flex-col aside-left-inner' },
- Y1 = { class: 'table-default stripe mb-6' },
- U1 = { style: { 'max-height': '580px' } },
- T1 = { class: 'w-16' },
- J1 = { class: 'w-24' },
- C1 = { class: 'text-center' },
- O1 = {
- __name: 'PanelSgzy',
- setup(e) {
- const t = Oo(),
- n = nc()
- is(() => {
- i()
- })
- function i() {
- const u = n.sgzy
- Object.keys(u).length && ((s.value = u.form), (l.value = u.tableData))
- }
- const s = C({ level: '23', minZ: '0', maxZ: '120', evaluation: !1 }),
- a = []
- function o() {
- Nc({ hasZ: !0 })
- }
- let r = []
- const l = C([])
- q(
- () => t.draw_geometry,
- (u) => {
- ;(r = u == null ? void 0 : u.rings), (l.value = r.flat())
- },
- { deep: !0 }
- )
- function d(u) {
- Sc(), c('hide'), u && (l.value = []), qi({ show: !1 })
- }
- function c(u) {
- if (u == 'hide') {
- _i({ id: 'sgzy_mesh', status: 'hide' })
- return
- }
- let p = s.value.maxZ * 1 - s.value.minZ * 1,
- v = []
- for (let f = 0; f < r[0].length; f++) v.push([r[0][f][0], r[0][f][1], s.value.minZ * 1])
- _i({
- id: 'sgzy_mesh',
- status: 'show',
- data: [{ type: 'polygon', shape: { height: p, rings: [v], color: [0, 255, 0, 0.2] } }],
- })
- }
- const A = lt({ calc: !1 })
- function g() {
- const { maxZ: u, minZ: p } = s.value
- r &&
- (!p ||
- !u ||
- (d(),
- c('show'),
- setTimeout(() => {
- qi({ ...s.value, show: !0, level: Number(s.value.level), rings: r })
- }, 300)))
- }
- function b() {
- if (!l.value.length) {
- n.setSgzy({})
- return
- }
- n.setSgzy({ form: s.value, tableData: l.value })
- }
- return (
- xe(() => {
- b()
- }),
- (u, p) => {
- const v = $l,
- f = _l,
- w = Hl,
- R = gl,
- I = Ol,
- y = Vl,
- E = Pl
- return (
- Z(),
- T('div', B1, [
- p[11] || (p[11] = Y('div', { class: 'title-main' }, '网格查询', -1)),
- P(
- E,
- {
- ref: 'formRef',
- class: 'p-form mt-7',
- model: s.value,
- rules: a,
- 'label-position': 'left',
- size: 'large',
- },
- {
- default: x(() => [
- P(
- w,
- { label: '计算层级', prop: 'level' },
- {
- default: x(() => [
- P(
- f,
- {
- modelValue: s.value.level,
- 'onUpdate:modelValue': p[0] || (p[0] = (m) => (s.value.level = m)),
- placeholder: '',
- },
- {
- default: x(() => [
- P(v, { label: '12级', value: '12' }),
- P(v, { label: '13级', value: '13' }),
- P(v, { label: '14级', value: '14' }),
- P(v, { label: '15级', value: '15' }),
- ]),
- _: 1,
- },
- 8,
- ['modelValue']
- ),
- ]),
- _: 1,
- }
- ),
- P(
- w,
- { label: '高度', prop: 'height' },
- {
- default: x(() => [
- P(
- R,
- {
- modelValue: s.value.minZ,
- 'onUpdate:modelValue': p[1] || (p[1] = (m) => (s.value.minZ = m)),
- max: s.value.maxZ,
- type: 'number',
- class: 'flex-1',
- },
- null,
- 8,
- ['modelValue', 'max']
- ),
- p[6] || (p[6] = Y('div', { class: 'mx-2' }, '--', -1)),
- P(
- R,
- {
- modelValue: s.value.maxZ,
- 'onUpdate:modelValue': p[2] || (p[2] = (m) => (s.value.maxZ = m)),
- min: s.value.minZ,
- type: 'number',
- class: 'flex-1',
- },
- null,
- 8,
- ['modelValue', 'min']
- ),
- P(
- I,
- { class: 'btn-secondary ml-3 -mb-1', onClick: o },
- { default: x(() => p[5] || (p[5] = [Le('绘制区域')])), _: 1 }
- ),
- ]),
- _: 1,
- }
- ),
- P(
- w,
- { label: '评价系数' },
- {
- default: x(() => [
- P(
- y,
- {
- modelValue: s.value.evaluation,
- 'onUpdate:modelValue': p[3] || (p[3] = (m) => (s.value.evaluation = m)),
- },
- { default: x(() => p[7] || (p[7] = [Le('展示')])), _: 1 },
- 8,
- ['modelValue']
- ),
- ]),
- _: 1,
- }
- ),
- ]),
- _: 1,
- },
- 8,
- ['model']
- ),
- Y('table', Y1, [
- p[8] ||
- (p[8] = Y(
- 'thead',
- null,
- [
- Y('tr', null, [
- Y('th', { class: 'w-16' }, '序号'),
- Y('th', null, '经度'),
- Y('th', null, '纬度'),
- Y('th', { class: 'w-24' }, '海拔高/m'),
- ]),
- ],
- -1
- )),
- Y('tbody', U1, [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- l.value,
- (m, j) => (
- Z(),
- T('tr', null, [
- Y('td', T1, ce(j + 1), 1),
- Y('td', null, ce(m[0]), 1),
- Y('td', null, ce(m[1]), 1),
- Y('td', J1, ce(m[2]), 1),
- ])
- )
- ),
- 256
- )),
- ]),
- ]),
- Y('div', C1, [
- P(
- I,
- { class: 'btn-main', onClick: g, loading: A.calc },
- { default: x(() => p[9] || (p[9] = [Le('开始计算')])), _: 1 },
- 8,
- ['loading']
- ),
- P(
- I,
- { class: 'btn-main', onClick: p[4] || (p[4] = (m) => d(!0)) },
- { default: x(() => p[10] || (p[10] = [Le('清空结果')])), _: 1 }
- ),
- ]),
- ])
- )
- }
- )
- },
- },
- z1 = Kt(O1, [['__scopeId', 'data-v-0db935d1']]),
- W1 = { class: 'flex flex-col aside-left-inner' },
- F1 = { class: 'table-default stripe mb-6' },
- L1 = { style: { 'max-height': '580px' } },
- x1 = { class: 'w-16' },
- V1 = { class: 'w-24' },
- Q1 = { class: 'text-center' },
- X1 = {
- __name: 'PanelKypm',
- setup(e) {
- const t = nc(),
- n = Oo()
- is(() => {
- i()
- })
- function i() {
- const u = t.kypm
- Object.keys(u).length && ((s.value = u.form), (l.value = u.tableData))
- }
- const s = C({ level: '23', height: '50', evaluation: !1 }),
- a = []
- function o() {
- Nc({ hasZ: !0 })
- }
- let r = []
- const l = C([])
- q(
- () => n.draw_geometry,
- (u) => {
- ;(r = u == null ? void 0 : u.rings), (l.value = r.flat())
- },
- { deep: !0 }
- )
- function d(u) {
- Sc(), c('hide'), u && (l.value = []), qi({ show: !1 })
- }
- function c(u) {
- if (u == 'hide') {
- _i({ id: 'sgzy_mesh', status: 'hide' })
- return
- }
- let p = 0.02,
- v = []
- for (let f = 0; f < r[0].length; f++) v.push([r[0][f][0], r[0][f][1], Number(s.value.height) - 0.01])
- _i({
- id: 'sgzy_mesh',
- status: 'show',
- data: [{ type: 'polygon', shape: { height: p, rings: [v], color: [0, 255, 0, 0.1] } }],
- })
- }
- const A = lt({ calc: !1 })
- function g() {
- r &&
- s.value.height &&
- (d(),
- c('show'),
- setTimeout(() => {
- qi({
- ...s.value,
- minZ: Number(s.value.height) - 0.01,
- maxZ: Number(s.value.height) + 0.01,
- show: !0,
- level: Number(s.value.level),
- rings: r,
- })
- }, 300))
- }
- function b() {
- if (!l.value.length) {
- t.setKypm({})
- return
- }
- t.setKypm({ form: s.value, tableData: l.value })
- }
- return (
- xe(() => {
- b()
- }),
- (u, p) => {
- const v = $l,
- f = _l,
- w = Hl,
- R = gl,
- I = Ol,
- y = Vl,
- E = Pl
- return (
- Z(),
- T('div', W1, [
- p[9] || (p[9] = Y('div', { class: 'title-main' }, '空域剖面分析', -1)),
- P(
- E,
- {
- ref: 'formRef',
- class: 'p-form mt-7',
- model: s.value,
- rules: a,
- 'label-position': 'left',
- size: 'large',
- },
- {
- default: x(() => [
- P(
- w,
- { label: '计算层级', prop: 'level' },
- {
- default: x(() => [
- P(
- f,
- {
- modelValue: s.value.level,
- 'onUpdate:modelValue': p[0] || (p[0] = (m) => (s.value.level = m)),
- placeholder: '',
- },
- {
- default: x(() => [
- P(v, { label: '23级', value: '23' }),
- P(v, { label: '24级', value: '24' }),
- ]),
- _: 1,
- },
- 8,
- ['modelValue']
- ),
- ]),
- _: 1,
- }
- ),
- P(
- w,
- { label: '高度', prop: 'height' },
- {
- default: x(() => [
- P(
- R,
- {
- modelValue: s.value.height,
- 'onUpdate:modelValue': p[1] || (p[1] = (m) => (s.value.height = m)),
- type: 'number',
- class: 'flex-1',
- },
- null,
- 8,
- ['modelValue']
- ),
- P(
- I,
- { class: 'btn-secondary ml-3 -mb-1', onClick: o },
- { default: x(() => p[4] || (p[4] = [Le('绘制剖面')])), _: 1 }
- ),
- ]),
- _: 1,
- }
- ),
- P(
- w,
- { label: '评价系数' },
- {
- default: x(() => [
- P(
- y,
- {
- modelValue: s.value.evaluation,
- 'onUpdate:modelValue': p[2] || (p[2] = (m) => (s.value.evaluation = m)),
- },
- { default: x(() => p[5] || (p[5] = [Le('展示')])), _: 1 },
- 8,
- ['modelValue']
- ),
- ]),
- _: 1,
- }
- ),
- ]),
- _: 1,
- },
- 8,
- ['model']
- ),
- Y('table', F1, [
- p[6] ||
- (p[6] = Y(
- 'thead',
- null,
- [
- Y('tr', null, [
- Y('th', { class: 'w-16' }, '序号'),
- Y('th', null, '经度'),
- Y('th', null, '纬度'),
- Y('th', { class: 'w-24' }, '海拔高/m'),
- ]),
- ],
- -1
- )),
- Y('tbody', L1, [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- l.value,
- (m, j) => (
- Z(),
- T('tr', null, [
- Y('td', x1, ce(j + 1), 1),
- Y('td', null, ce(m[0]), 1),
- Y('td', null, ce(m[1]), 1),
- Y('td', V1, ce(m[2]), 1),
- ])
- )
- ),
- 256
- )),
- ]),
- ]),
- Y('div', Q1, [
- P(
- I,
- { class: 'btn-main', onClick: g, loading: A.calc },
- { default: x(() => p[7] || (p[7] = [Le('开始计算')])), _: 1 },
- 8,
- ['loading']
- ),
- P(
- I,
- { class: 'btn-main', onClick: p[3] || (p[3] = (m) => d(!0)) },
- { default: x(() => p[8] || (p[8] = [Le('清空结果')])), _: 1 }
- ),
- ]),
- ])
- )
- }
- )
- },
- },
- P1 = Kt(X1, [['__scopeId', 'data-v-32d9a9f0']]),
- H1 = { class: 'panel-sjwg flex flex-col aside-left-inner' },
- K1 = { class: 'title-sub my-4 shrink-0' },
- q1 = { key: 0, class: 'pr-1', style: { flex: '2' } },
- _1 = { class: 'title-shade' },
- $1 = ['onClick'],
- eE = ['onClick'],
- tE = { key: 0 },
- nE = ['src'],
- iE = ['onClick'],
- sE = {
- __name: 'PanelSjwg',
- setup(e) {
- const t = Qn()
- function n(c) {
- ;(c.active = !c.active),
- c.children.forEach((A) => {
- ;(A.active = !c.active), a(A)
- })
- }
- const i = C([
- {
- label: '服务',
- show: !0,
- children: [
- { label: '影像', alias: '影像底图', icon: 'dxing', active: !1 },
- { label: '全市建筑物', alias: '全市白模', icon: 'qsjzwu', active: !1 },
- ],
- },
- ])
- let s
- async function a(c) {
- if (((c.active = !c.active), c.alias)) {
- const A = Array.isArray(c.alias) ? c.alias : [c.alias]
- s || (s = await JR('resources.json'))
- const g = s.filter((b) => A.some((u) => u === b.title))
- if (g.length === 0) return
- g.forEach((b) => {
- h1({ ...b, visible: c.active })
- })
- }
- }
- function o(c) {
- const A = i.value.find((g) => g.label === c.label)
- ;(A.show = !A.show),
- i.value.forEach((g) => {
- g.show && g.label !== c.label && (g.show = !1)
- })
- }
- const r = lt({ b1: !0, b2: !0 })
- function l(c) {
- r[c] = !r[c]
- }
- xe(() => {
- t.toggleFloatPanel('layers_legend', !1)
- })
- const d = {
- beforeMount(c, A) {
- ;(c.style.height = '0'),
- (c.style.overflow = A.value === 'scroll' ? 'auto' : 'hidden'),
- (c.style.transition = 'height 0.5s ease')
- },
- mounted(c) {
- const A = c.scrollHeight
- c.style.height = `${A}px`
- },
- beforeUnmount(c) {
- c.style.height = '0'
- },
- }
- return (c, A) => (
- Z(),
- T('div', H1, [
- Y('div', K1, [
- A[1] || (A[1] = Le(' 基础数据 ')),
- Y('i', { onClick: A[0] || (A[0] = (g) => l('b1')), class: B(['drop-down', { reverse: r.b1 }]) }, null, 2),
- ]),
- P(at, null, {
- default: x(() => [
- r.b1
- ? We(
- (Z(),
- T('div', q1, [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- i.value,
- (g) => (
- Z(),
- T(
- je,
- null,
- [
- Y('div', _1, [
- Y('span', null, ce(g.label), 1),
- 'active' in g
- ? (Z(),
- T(
- 'i',
- {
- key: 0,
- class: B(['btn-selectall', { active: g.active }]),
- onClick: (b) => n(g),
- },
- null,
- 10,
- $1
- ))
- : X('', !0),
- Y(
- 'i',
- { class: B(['drop-down', { reverse: g.show }]), onClick: (b) => o(g) },
- null,
- 10,
- eE
- ),
- ]),
- P(
- at,
- null,
- {
- default: x(() => [
- g.show
- ? We(
- (Z(),
- T('ul', tE, [
- (Z(!0),
- T(
- je,
- null,
- Jt(
- g.children,
- (b) => (
- Z(),
- T(
- 'li',
- { class: B(['list-item', { disabled: b.disabled }]) },
- [
- Y(
- 'img',
- { src: h(Yo)(`resources/${b.icon}.png`), alt: '' },
- null,
- 8,
- nE
- ),
- Y('span', null, ce(b.label), 1),
- Y(
- 'i',
- {
- title: '查看',
- onClick: (u) => a(b),
- class: B({ active: b.active }),
- },
- null,
- 10,
- iE
- ),
- ],
- 2
- )
- )
- ),
- 256
- )),
- ])),
- [[d]]
- )
- : X('', !0),
- ]),
- _: 2,
- },
- 1024
- ),
- ],
- 64
- )
- )
- ),
- 256
- )),
- ])),
- [[d, 'scroll']]
- )
- : X('', !0),
- ]),
- _: 1,
- }),
- ])
- )
- },
- },
- oE = Kt(sE, [['__scopeId', 'data-v-533a778a']]),
- aE = { class: 'home-wrapper' },
- rE = {
- __name: 'Home',
- setup(e) {
- const t = Qn()
- return (
- Be(() => {}),
- (n, i) => (
- Z(),
- T('div', aE, [
- Y(
- 'div',
- { class: B(['aside aside-left', { collapse: h(t).leftCollapse }]) },
- [
- P(
- at,
- { name: 'emerge-left' },
- { default: x(() => [h(t).leftPanelType === 'sgzy' ? (Z(), _(z1, { key: 0 })) : X('', !0)]), _: 1 }
- ),
- P(
- at,
- { name: 'emerge-left' },
- { default: x(() => [h(t).leftPanelType === 'kypm' ? (Z(), _(P1, { key: 0 })) : X('', !0)]), _: 1 }
- ),
- P(
- at,
- { name: 'emerge-left' },
- { default: x(() => [h(t).leftPanelType === 'kytc' ? (Z(), _(oE, { key: 0 })) : X('', !0)]), _: 1 }
- ),
- ],
- 2
- ),
- P(k1),
- ])
- )
- )
- },
- },
- lE = Kt(rE, [['__scopeId', 'data-v-f9ca384f']]),
- cE = '10.1.80.227:3000',
- ti = { Backspace: 8, ShiftLeft: 16, ControlLeft: 17, AltLeft: 18, ShiftRight: 253, ControlRight: 254, AltRight: 255 },
- Er = { MainButton: 0 },
- uE = { 1: 0, 2: 2, 4: 1, 8: 3, 16: 4 },
- pt = {
- QualityControlOwnership: 0,
- Response: 1,
- Command: 2,
- FreezeFrame: 3,
- UnfreezeFrame: 4,
- VideoEncoderAvgQP: 5,
- LatencyTest: 6,
- InitialSettings: 7,
- FileExtension: 8,
- FileMimeType: 9,
- FileContents: 10,
- InputControlOwnership: 12,
- CompositionStart: 64,
- Protocol: 255,
- },
- Me = {
- IFrameRequest: 0,
- RequestQualityControl: 1,
- FpsRequest: 2,
- AverageBitrateRequest: 3,
- StartStreaming: 4,
- StopStreaming: 5,
- LatencyTest: 6,
- RequestInitialSettings: 7,
- UIInteraction: 50,
- Command: 51,
- KeyDown: 60,
- KeyUp: 61,
- KeyPress: 62,
- FindFocus: 63,
- CompositionEnd: 64,
- MouseEnter: 70,
- MouseLeave: 71,
- MouseDown: 72,
- MouseUp: 73,
- MouseMove: 74,
- MouseWheel: 75,
- TouchStart: 80,
- TouchEnd: 81,
- TouchMove: 82,
- GamepadButtonPressed: 90,
- GamepadButtonReleased: 91,
- GamepadAnalog: 92,
- }
- let ks
- class dE extends HTMLVideoElement {
- constructor() {
- super()
- Qo(this, 'keysDown', new Set())
- ;(window.ps = this),
- (this.ws = { send() {}, close() {} }),
- (this.pc = { close() {} }),
- this.setupVideo(),
- this.registerKeyboardEvents(),
- this.registerMouseHoverEvents(),
- this.registerFakeMouseEvents(),
- (this.sceneId = this.dataset.sceneId),
- (this.viewMode = this.dataset.viewMode),
- (this.token = this.dataset.token),
- (this._onClose = null),
- (this._onOpen = null),
- (this._onMessage = null),
- document.addEventListener(
- 'pointerlockchange',
- () => {
- document.pointerLockElement === this ? this.registerPointerLockEvents() : this.registerMouseHoverEvents()
- },
- !1
- ),
- this.addEventListener('loadeddata', (n) => {
- this.style['aspect-ratio'] = this.videoWidth / this.videoHeight
- })
- }
- set onclose(n) {
- typeof n == 'function' && (this._onClose = n)
- }
- set onopen(n) {
- typeof n == 'function' && (this._onOpen = n)
- }
- set onmessage(n) {
- typeof n == 'function' && (this._onMessage = n)
- }
- checkWebRTCSupport() {
- const n = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection
- if (!n) return !1
- let i = !1,
- s = null
- if (n) {
- try {
- s = new n()
- const a = s.createDataChannel('test')
- ;(i = !!a), a.close(), s.close()
- } catch {
- return !1
- }
- if (!i) return !1
- }
- return !0
- }
- async connectedCallback() {
- if (this.checkWebRTCSupport() == !1) {
- const i = document.createElement('div')
- ;(i.innerHTML = '你的浏览器版本过低!<br>推荐使用谷歌100以上版本浏览器!!'),
- (i.style.position = 'absolute'),
- (i.style.top = '50%'),
- (i.style.left = '50%'),
- (i.style.transform = 'translate(-50%, -50%)'),
- (i.style.background = 'rgba(255, 255, 255, 0.8)'),
- (i.style.padding = '10px'),
- (i.style.borderRadius = '5px'),
- (i.style.display = 'block'),
- this.parentNode.appendChild(i)
- }
- if (!this.isConnected) return
- if (this.pc.connectionState === 'connected' && this.dc.readyState === 'open' && this.ws.readyState === 1) {
- this.play()
- return
- }
- ;(this.ws.onclose = null),
- this.ws.close(1e3),
- (this.sceneId = this.dataset.sceneId),
- (this.viewMode = this.dataset.viewMode),
- (this.token = this.dataset.token)
- const n = 'ws:' + cE + `?sceneId=${this.sceneId}&token=${this.token}&&view_mode=${this.viewMode}`
- ;(this.ws = new WebSocket(n, 'peer-stream')),
- this.ws.onerror,
- (this.ws.onopen = () => {}),
- (this.ws.onmessage = (i) => {
- this.onWebSocketMessage(i.data)
- }),
- (this.ws.onclose = (i) => {
- this.dispatchEvent(new CustomEvent('playerdisconnected', {})),
- this.dispatchEvent(new CustomEvent('disConnected', {}))
- })
- }
- static get observedAttributes() {
- return ['sceneId', 'token', 'viewMode']
- }
- disconnectedCallback() {
- this._onClose && this._onClose(),
- setTimeout(() => {
- this.isConnected || (this.ws.close(1e3), this.pc.close(), this.dc && this.dc.close())
- }, 100)
- }
- adoptedCallback() {}
- attributeChangedCallback(n, i, s) {
- this.isConnected &&
- (this.ws.close(1e3),
- n === 'viewMode' ? (this.viewMode = s) : n === 'sceneId' ? (this.sceneId = s) : n === 'token' && (this.token = s))
- }
- async onWebSocketMessage(n) {
- try {
- n = JSON.parse(n)
- } catch {
- return
- }
- if (n.type === 'offer') {
- this.setupPeerConnection()
- const i = new RTCSessionDescription(n)
- await this.pc.setRemoteDescription(i), this.pc.addTransceiver('video', { direction: 'recvonly' })
- const s = await this.pc.createAnswer()
- await this.pc.setLocalDescription(s), this.ws.send(JSON.stringify(s))
- for (let a of this.pc.getReceivers()) a.playoutDelayHint = 0
- } else if (n.type === 'iceCandidate') {
- const i = new RTCIceCandidate(n.candidate)
- await this.pc.addIceCandidate(i)
- } else if (n.type === 'answer') {
- const i = new RTCSessionDescription(n)
- await this.pc.setRemoteDescription(i)
- for (const s of this.pc.getReceivers()) s.playoutDelayHint = 0
- } else
- n.type === 'playerqueue'
- ? this.dispatchEvent(new CustomEvent('playerqueue', { detail: n }))
- : n.type === 'setIceServers'
- ? (ks = n.iceServers)
- : n.type === 'playerConnected'
- ? (this.setupPeerConnection_ue4(), this.setupDataChannel_ue4())
- : n.type === 'ping'
- ? ((n.type = 'pong'),
- this.ws.send(JSON.stringify(n)),
- this.mouseReleaseTime &&
- new Date() - this.lastmouseTime > this.mouseReleaseTime * 1e3 &&
- ((n.type = 'mouseRelease'), this.ws.send(JSON.stringify(n))))
- : n.type === 'ueDisConnected'
- ? this.dispatchEvent(new CustomEvent('ueDisConnected', { detail: n }))
- : n.type === 'setmouseReleaseTime'
- ? ((this.mouseReleaseTime = n.mouseReleaseTime), (this.lastmouseTime = new Date()))
- : n.type === 'getStatus' && this.handleGetStatus(n)
- }
- handleGetStatus(n) {
- if (!(this.pc instanceof RTCPeerConnection)) {
- ;(n.videoencoderqp = null), (n.netrate = null), this.ws.send(JSON.stringify(n))
- return
- }
- let i = 0
- this.pc.getStats(null).then((a) => {
- a.forEach((o) => {
- o.type === 'transport' && (i = o.bytesReceived)
- })
- })
- let s = 0.2
- setTimeout(() => {
- this.pc.getStats(null).then((a) => {
- a.forEach((o) => {
- if (o.type === 'transport') {
- const d = (((o.bytesReceived - i) / s) * 8) / 1e3 / 1e3
- ;(n.videoencoderqp = this.VideoEncoderQP), (n.netrate = d.toFixed(2)), this.ws.send(JSON.stringify(n))
- }
- })
- })
- }, s * 1e3)
- }
- onDataChannelMessage(n) {
- n = new Uint8Array(n)
- const i = new TextDecoder('utf-16')
- switch (n[0]) {
- case pt.VideoEncoderAvgQP: {
- this.VideoEncoderQP = +i.decode(n.slice(1))
- break
- }
- case pt.Response: {
- const s = i.decode(n.slice(1))
- this.dispatchEvent(new CustomEvent('message', { detail: s }))
- break
- }
- case pt.Command: {
- const s = JSON.parse(i.decode(n.slice(1)))
- if (s.command === 'onScreenKeyboard' && s.showOnScreenKeyboard && this.enableChinese) {
- let a = document.createElement('input')
- ;(a.style.position = 'fixed'),
- (a.style.zIndex = -1),
- (a.autofocus = !0),
- document.body.append(a),
- a.focus(),
- a.addEventListener('compositionend', (o) => {
- this.emitMessage(o.data, Me.CompositionEnd)
- }),
- a.addEventListener('blue', (o) => {
- a.remove()
- }),
- a.addEventListener('keydown', (o) => {
- this.onkeydown(o)
- }),
- a.addEventListener('keyup', (o) => {
- this.onkeyup(o)
- }),
- a.addEventListener('keypress', (o) => {
- this.onkeypress(o)
- })
- }
- break
- }
- case pt.FreezeFrame: {
- new DataView(n.slice(1, 5).buffer).getInt32(0, !0)
- const s = n.slice(5)
- break
- }
- case pt.UnfreezeFrame:
- break
- case pt.LatencyTest: {
- const s = JSON.parse(i.decode(n.slice(1)))
- break
- }
- case pt.QualityControlOwnership: {
- this.QualityControlOwnership = n[1] !== 0
- break
- }
- case pt.InitialSettings: {
- this.InitialSettings = JSON.parse(i.decode(n.slice(1)))
- break
- }
- case pt.InputControlOwnership: {
- this.InputControlOwnership = n[1] !== 0
- break
- }
- case pt.Protocol: {
- let s = JSON.parse(i.decode(n.slice(1)))
- if (s.Direction === 0) for (let a in s) Me[a] = s[a].id
- else if (s.Direction === 1) for (let a in s) pt[a] = s[a].id
- this.dc.send(new Uint8Array([Me.RequestInitialSettings])),
- this.dc.send(new Uint8Array([Me.RequestQualityControl]))
- break
- }
- default:
- }
- }
- setupVideo() {
- ;(this.tabIndex = 0),
- (this.playsInline = !0),
- (this.disablepictureinpicture = !0),
- (this.muted = !0),
- (this.autoplay = !0),
- (this.style['pointer-events'] = 'none'),
- (this.style['object-fit'] = 'fill')
- }
- setupDataChannel(n) {
- ;(this.dc = n.channel),
- (this.dc.binaryType = 'arraybuffer'),
- (this.dc.onopen = (i) => {
- this.style.pointerEvents = 'auto'
- }),
- (this.dc.onclose = (i) => {
- ;(this.style.pointerEvents = 'none'), this.blur()
- }),
- this.dc.onerror,
- (this.dc.onmessage = (i) => {
- this.onDataChannelMessage(i.data)
- })
- }
- setupDataChannel_ue4(n = 'hello') {
- ;(this.dc = this.pc.createDataChannel(n, { ordered: !0 })),
- (this.dc.binaryType = 'arraybuffer'),
- (this.dc.onopen = (i) => {
- ;(this.style.pointerEvents = 'auto'),
- this.dc.send(new Uint8Array([Me.RequestInitialSettings])),
- this.dc.send(new Uint8Array([Me.RequestQualityControl]))
- }),
- (this.dc.onclose = (i) => {
- this.style.pointerEvents = 'none'
- }),
- (this.dc.onmessage = (i) => {
- this.onDataChannelMessage(i.data)
- })
- }
- setupPeerConnection() {
- this.pc.close(),
- (this.pc = new RTCPeerConnection({ sdpSemantics: 'unified-plan', bundlePolicy: 'balanced', iceServers: ks })),
- (this.pc.ontrack = (n) => {
- n.track.kind === 'video'
- ? (this.srcObject = n.streams[0])
- : n.track.kind === 'audio' &&
- ((this.audio = document.createElement('audio')),
- (this.audio.autoplay = !0),
- (this.audio.srcObject = n.streams[0]))
- }),
- (this.pc.onicecandidate = (n) => {
- var i
- ;(i = n.candidate) != null &&
- i.candidate &&
- this.ws.send(JSON.stringify({ type: 'iceCandidate', candidate: n.candidate }))
- }),
- (this.pc.ondatachannel = (n) => {
- this.setupDataChannel(n)
- })
- }
- setupPeerConnection_ue4() {
- this.pc.close(),
- (this.pc = new RTCPeerConnection({ sdpSemantics: 'unified-plan', bundlePolicy: 'balanced', iceServers: ks })),
- (this.pc.ontrack = (n) => {
- n.track.kind === 'video'
- ? (this.srcObject = n.streams[0])
- : n.track.kind === 'audio' &&
- ((this.audio = document.createElement('audio')),
- (this.audio.autoplay = !0),
- (this.audio.srcObject = n.streams[0]))
- }),
- (this.pc.onicecandidate = (n) => {
- var i
- ;(i = n.candidate) != null &&
- i.candidate &&
- this.ws.send(JSON.stringify({ type: 'iceCandidate', candidate: n.candidate }))
- }),
- (this.pc.onnegotiationneeded = (n) => {
- this.setupOffer()
- })
- }
- async setupOffer() {
- const n = await this.pc.createOffer({
- offerToReceiveAudio: +this.hasAttribute('audio'),
- offerToReceiveVideo: 1,
- voiceActivityDetection: !1,
- })
- ;(n.sdp = n.sdp.replace('useinbandfec=1', 'useinbandfec=1;stereo=1;sprop-maxcapturerate=48000')),
- this.pc.setLocalDescription(n),
- this.ws.send(JSON.stringify(n))
- }
- registerKeyboardEvents() {
- ;(this.onkeydown = (n) => {
- const i = ti[n.code] || n.keyCode
- this.dc.send(new Uint8Array([Me.KeyDown, i, n.repeat])),
- this.keysDown.add(i),
- n.keyCode === ti.Backspace && this.onkeypress({ keyCode: ti.Backspace })
- }),
- (this.onkeyup = (n) => {
- const i = ti[n.code] || n.keyCode
- this.dc.send(new Uint8Array([Me.KeyUp, i])), this.keysDown.delete(i)
- }),
- (this.onkeypress = (n) => {
- const i = new DataView(new ArrayBuffer(3))
- i.setUint8(0, Me.KeyPress), i.setUint16(1, ti[n.code] || n.keyCode, !0), this.dc.send(i)
- }),
- (this.onblur = (n) => {
- this.keysDown.forEach((i) => {
- this.dc.send(new Uint8Array([Me.KeyUp, i]))
- }),
- this.keysDown.clear()
- })
- }
- registerTouchEvents() {
- const n = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
- i = {}
- ;(this.ontouchstart = (s) => {
- for (const a of s.changedTouches) {
- const o = n.pop()
- i[a.identifier] = o
- }
- this.emitTouchData(Me.TouchStart, s.changedTouches, i), s.preventDefault()
- }),
- (this.ontouchend = (s) => {
- this.emitTouchData(Me.TouchEnd, s.changedTouches, i)
- for (const a of s.changedTouches) n.push(i[a.identifier]), delete i[a.identifier]
- s.preventDefault()
- }),
- (this.ontouchmove = (s) => {
- this.emitTouchData(Me.TouchMove, s.touches, i), s.preventDefault()
- })
- }
- registerFakeMouseEvents() {
- let n
- const { left: i, top: s } = this.getBoundingClientRect()
- ;(this.ontouchstart = (a) => {
- if (n === void 0) {
- const o = a.changedTouches[0]
- ;(n = { id: o.identifier, x: o.clientX - i, y: o.clientY - s }),
- this.onmouseenter(a),
- this.emitMouseDown(Er.MainButton, n.x, n.y)
- }
- a.preventDefault()
- }),
- (this.ontouchend = (a) => {
- if (n) {
- for (const o of a.changedTouches)
- if (o.identifier === n.id) {
- const r = o.clientX - i,
- l = o.clientY - s
- this.emitMouseUp(Er.MainButton, r, l), this.onmouseleave(a), (n = void 0)
- break
- }
- }
- a.preventDefault()
- }),
- (this.ontouchmove = (a) => {
- if (n) {
- for (const o of a.touches)
- if (o.identifier === n.id) {
- const r = o.clientX - i,
- l = o.clientY - s
- this.emitMouseMove(r, l, r - n.x, l - n.y), (n.x = r), (n.y = l)
- break
- }
- }
- a.preventDefault()
- })
- }
- registerMouseHoverEvents() {
- this.registerMouseEnterAndLeaveEvents(),
- (this.onmousemove = (n) => {
- this.emitMouseMove(n.offsetX, n.offsetY, n.movementX, n.movementY), n.preventDefault()
- }),
- (this.onmousedown = (n) => {
- this.emitMouseDown(n.button, n.offsetX, n.offsetY)
- }),
- (this.onmouseup = (n) => {
- this.emitMouseUp(n.button, n.offsetX, n.offsetY)
- }),
- (this.oncontextmenu = (n) => {
- this.emitMouseUp(n.button, n.offsetX, n.offsetY), n.preventDefault()
- }),
- (this.onwheel = (n) => {
- this.emitMouseWheel(n.wheelDelta, n.offsetX, n.offsetY), n.preventDefault()
- })
- }
- registerPointerLockEvents() {
- this.registerMouseEnterAndLeaveEvents()
- const { clientWidth: n, clientHeight: i } = this
- let s = n / 2,
- a = i / 2
- ;(this.onmousemove = (o) => {
- ;(s += o.movementX),
- (a += o.movementY),
- (s = (s + n) % n),
- (a = (a + i) % i),
- this.emitMouseMove(s, a, o.movementX, o.movementY)
- }),
- (this.onmousedown = (o) => {
- this.emitMouseDown(o.button, s, a)
- }),
- (this.onmouseup = (o) => {
- this.emitMouseUp(o.button, s, a)
- }),
- (this.onwheel = (o) => {
- this.emitMouseWheel(o.wheelDelta, s, a)
- })
- }
- registerMouseEnterAndLeaveEvents() {
- ;(this.onmouseenter = (n) => {
- this.dc.send(new Uint8Array([Me.MouseEnter]))
- }),
- (this.onmouseleave = (n) => {
- this.dc.readyState === 'open' && this.dc.send(new Uint8Array([Me.MouseLeave]))
- for (let i = 1; i <= 16; i *= 2) n.buttons & i && this.emitMouseUp(uE[i], 0, 0)
- })
- }
- emitMouseMove(n, i, s, a) {
- const o = this.normalize(n, i)
- ;(s = (s * 65536) / this.clientWidth), (a = (a * 65536) / this.clientHeight)
- const r = new DataView(new ArrayBuffer(9))
- r.setUint8(0, Me.MouseMove),
- r.setUint16(1, o.x, !0),
- r.setUint16(3, o.y, !0),
- r.setInt16(5, s, !0),
- r.setInt16(7, a, !0),
- this.dc.send(r),
- (this.lastmouseTime = new Date())
- }
- emitMouseDown(n, i, s) {
- const a = this.normalize(i, s),
- o = new DataView(new ArrayBuffer(6))
- o.setUint8(0, Me.MouseDown),
- o.setUint8(1, n),
- o.setUint16(2, a.x, !0),
- o.setUint16(4, a.y, !0),
- this.dc.send(o),
- this.enableChinese && this.dc.send(new Uint8Array([Me.FindFocus]))
- }
- emitMouseUp(n, i, s) {
- const a = this.normalize(i, s),
- o = new DataView(new ArrayBuffer(6))
- o.setUint8(0, Me.MouseUp), o.setUint8(1, n), o.setUint16(2, a.x, !0), o.setUint16(4, a.y, !0), this.dc.send(o)
- }
- emitMouseWheel(n, i, s) {
- const a = this.normalize(i, s),
- o = new DataView(new ArrayBuffer(7))
- o.setUint8(0, Me.MouseWheel),
- o.setInt16(1, n, !0),
- o.setUint16(3, a.x, !0),
- o.setUint16(5, a.y, !0),
- this.dc.send(o)
- }
- emitTouchData(n, i, s) {
- const a = new DataView(new ArrayBuffer(2 + 6 * i.length))
- a.setUint8(0, n), a.setUint8(1, i.length)
- let o = 2
- for (const r of i) {
- const l = r.clientX - this.offsetLeft,
- d = r.clientY - this.offsetTop,
- c = this.normalize(l, d)
- a.setUint16(o, c.x, !0),
- (o += 2),
- a.setUint16(o, c.y, !0),
- (o += 2),
- a.setUint8(o, s[r.identifier], !0),
- (o += 1),
- a.setUint8(o, 255 * r.force, !0),
- (o += 1)
- }
- this.dc.send(a)
- }
- emitMessage(n, i = Me.UIInteraction) {
- typeof n != 'string' && (n = JSON.stringify(n))
- const s = new DataView(new ArrayBuffer(3 + 2 * n.length))
- let a = 0
- s.setUint8(a, i), a++, s.setUint16(a, n.length, !0), (a += 2)
- for (let o = 0; o < n.length; o++) s.setUint16(a, n.charCodeAt(o), !0), (a += 2)
- return this.dc.send(s), new Promise((o) => this.addEventListener('message', (r) => o(r.detail), { once: !0 }))
- }
- normalize(n, i) {
- const s = n / this.clientWidth,
- a = i / this.clientHeight
- return s < 0 || s > 1 || a < 0 || a > 1
- ? { inRange: !1, x: 65535, y: 65535 }
- : { inRange: !0, x: s * 65536, y: a * 65536 }
- }
- }
- customElements.define('peer-stream', dE, { extends: 'video' })
- let Bi = function () {
- return (function (e) {
- var t = {}
- function n(i) {
- if (t[i]) return t[i].exports
- var s = (t[i] = { i, l: !1, exports: {} })
- return e[i].call(s.exports, s, s.exports, n), (s.l = !0), s.exports
- }
- return (
- (n.m = e),
- (n.c = t),
- (n.d = function (i, s, a) {
- n.o(i, s) || Object.defineProperty(i, s, { enumerable: !0, get: a })
- }),
- (n.r = function (i) {
- typeof Symbol < 'u' &&
- Symbol.toStringTag &&
- Object.defineProperty(i, Symbol.toStringTag, { value: 'Module' }),
- Object.defineProperty(i, '__esModule', { value: !0 })
- }),
- (n.t = function (i, s) {
- if ((1 & s && (i = n(i)), 8 & s || (4 & s && typeof i == 'object' && i && i.__esModule))) return i
- var a = Object.create(null)
- if (
- (n.r(a), Object.defineProperty(a, 'default', { enumerable: !0, value: i }), 2 & s && typeof i != 'string')
- )
- for (var o in i)
- n.d(
- a,
- o,
- function (r) {
- return i[r]
- }.bind(null, o)
- )
- return a
- }),
- (n.n = function (i) {
- var s =
- i && i.__esModule
- ? function () {
- return i.default
- }
- : function () {
- return i
- }
- return n.d(s, 'a', s), s
- }),
- (n.o = function (i, s) {
- return Object.prototype.hasOwnProperty.call(i, s)
- }),
- (n.p = ''),
- n((n.s = 0))
- )
- })([
- function (e, t, n) {
- ;(function (i) {
- var s, a
- function o(g, b) {
- return b - g
- }
- var r,
- l = (function () {
- var g, b
- function u() {
- var N = arguments[0],
- k = arguments[1],
- F = arguments[2],
- L = arguments[3]
- return new f((O, G) => {
- var V = new XMLHttpRequest()
- ;(V.onreadystatechange = function () {
- if (V.readyState === 4)
- if ((V.status >= 200 && V.status < 300) || V.status === 304)
- if (typeof V.responseText == 'string' && L == 'json')
- try {
- O(JSON.parse(V.responseText))
- } catch {
- O(V.responseText)
- }
- else O(V.responseText)
- else G(V.status)
- }),
- V.open(N, k, !0),
- N == 'get'
- ? (V.setRequestHeader('content-type', 'text/plain;charset=UTF-8'),
- V.setRequestHeader('content-type', 'application/json'))
- : V.setRequestHeader('content-Type', 'application/x-www-form-urlencoded'),
- V.send(F)
- })
- }
- function p(N, k, F, L) {
- return v(N).then(k, F, L)
- }
- function v(N) {
- var k, F, L
- return (
- N instanceof f
- ? (k = N)
- : I(N)
- ? ((F = R()),
- N.then(
- function (O) {
- F.resolve(O)
- },
- function (O) {
- F.reject(O)
- },
- function (O) {
- F.progress(O)
- }
- ),
- (k = F.promise))
- : ((L = N),
- (k = new f(function (O) {
- try {
- return v(O ? O(L) : L)
- } catch (G) {
- return w(G)
- }
- }))),
- k
- )
- }
- function f(N) {
- this.then = N
- }
- function w(N) {
- return new f(function (k, F) {
- try {
- return F ? v(F(N)) : w(N)
- } catch (L) {
- return w(L)
- }
- })
- }
- function R() {
- var N, k, F, L, O, G
- return (
- (N = new f(V)),
- (k = []),
- (F = []),
- (L = function (ie, we, ve) {
- var fe, Re
- return (
- (fe = R()),
- (Re =
- typeof ve == 'function'
- ? function (pe) {
- try {
- fe.progress(ve(pe))
- } catch (W) {
- fe.progress(W)
- }
- }
- : function (pe) {
- fe.progress(pe)
- }),
- k.push(function (pe) {
- pe.then(ie, we).then(fe.resolve, fe.reject, Re)
- }),
- F.push(Re),
- fe.promise
- )
- }),
- (O = function (ie) {
- return j(F, ie), ie
- }),
- (G = function (ie) {
- return (ie = v(ie)), (L = ie.then), (G = v), (O = K), j(k, ie), (F = k = void 0), ie
- }),
- {
- then: V,
- resolve: ne,
- reject: re,
- progress: Ie,
- promise: N,
- resolver: { resolve: ne, reject: re, progress: Ie },
- }
- )
- function V(ie, we, ve) {
- return L(ie, we, ve)
- }
- function ne(ie) {
- return G(ie)
- }
- function re(ie) {
- return G(w(ie))
- }
- function Ie(ie) {
- return O(ie)
- }
- }
- function I(N) {
- return N && typeof N.then == 'function'
- }
- function y(N, k, F, L, O) {
- return (
- U(2, arguments),
- p(N, function (G) {
- var V, ne, re, Ie, ie, we, ve, fe, Re, pe
- if (
- ((Re = G.length >>> 0),
- (V = Math.max(0, Math.min(k, Re))),
- (re = []),
- (ne = Re - V + 1),
- (Ie = []),
- (ie = R()),
- V)
- )
- for (
- fe = ie.progress,
- ve = function (le) {
- Ie.push(le), --ne || ((we = ve = K), ie.reject(Ie))
- },
- we = function (le) {
- re.push(le), --V || ((we = ve = K), ie.resolve(re))
- },
- pe = 0;
- pe < Re;
- ++pe
- )
- pe in G && p(G[pe], se, W, fe)
- else ie.resolve(re)
- return ie.then(F, L, O)
- function W(le) {
- ve(le)
- }
- function se(le) {
- we(le)
- }
- })
- )
- }
- function E(N, k, F, L) {
- return U(1, arguments), m(N, H).then(k, F, L)
- }
- function m(N, k) {
- return p(N, function (F) {
- var L, O, G, V, ne, re
- if (((G = O = F.length >>> 0), (L = []), (re = R()), G))
- for (
- V = function (Ie, ie) {
- p(Ie, k).then(function (we) {
- ;(L[ie] = we), --G || re.resolve(L)
- }, re.reject)
- },
- ne = 0;
- ne < O;
- ne++
- )
- ne in F ? V(F[ne], ne) : --G
- else re.resolve(L)
- return re.promise
- })
- }
- function j(N, k) {
- for (var F, L = 0; (F = N[L++]); ) F(k)
- }
- function U(N, k) {
- for (var F, L = k.length; L > N; )
- if ((F = k[--L]) != null && typeof F != 'function')
- throw new Error('arg ' + L + ' must be a function')
- }
- function K() {}
- function H(N) {
- return N
- }
- return (
- (p.defer = R),
- (p.resolve = v),
- (p.reject = function (N) {
- return p(N, w)
- }),
- (p.join = function () {
- return m(arguments, H)
- }),
- (p.all = E),
- (p.map = m),
- (p.reduce = function (N, k) {
- var F = b.call(arguments, 1)
- return p(N, function (L) {
- var O
- return (
- (O = L.length),
- (F[0] = function (G, V, ne) {
- return p(G, function (re) {
- return p(V, function (Ie) {
- return k(re, Ie, ne, O)
- })
- })
- }),
- g.apply(L, F)
- )
- })
- }),
- (p.any = function (N, k, F, L) {
- return y(
- N,
- 1,
- function (O) {
- return k ? k(O[0]) : O[0]
- },
- F,
- L
- )
- }),
- (p.some = y),
- (p.chain = function (N, k, F) {
- var L = arguments.length > 2
- return p(
- N,
- function (O) {
- return (O = L ? F : O), k.resolve(O), O
- },
- function (O) {
- return k.reject(O), w(O)
- },
- k.progress
- )
- }),
- (p.isPromise = I),
- (p.getJSON = function (N) {
- return u('get', N, null, 'json')
- }),
- (p.postJSON = function (N, k) {
- return (
- typeof k == 'object' &&
- (k = (function (F) {
- if (!F) return ''
- var L = []
- for (var O in F)
- if (F.hasOwnProperty(O) && typeof F[O] != 'function') {
- var G = F[O] != null ? F[O].toString() : ''
- ;(O = encodeURIComponent(O.replace('%20', '+'))),
- (G = encodeURIComponent(G.replace('%20', '+'))),
- L.push(O + '=' + G)
- }
- return L.join('&')
- })(k)),
- u('post', N, k || null, 'json')
- )
- }),
- (f.prototype = {
- always: function (N, k) {
- return this.then(N, N, k)
- },
- otherwise: function (N) {
- return this.then(void 0, N)
- },
- yield: function (N) {
- return this.then(function () {
- return N
- })
- },
- spread: function (N) {
- return this.then(function (k) {
- return E(k, function (F) {
- return N.apply(void 0, F)
- })
- })
- },
- }),
- (b = [].slice),
- (g =
- [].reduce ||
- function (N) {
- var k, F, L, O, G
- if (((G = 0), (O = (k = Object(this)).length >>> 0), (F = arguments).length <= 1))
- for (;;) {
- if (G in k) {
- L = k[G++]
- break
- }
- if (++G >= O) throw new TypeError()
- }
- else L = F[1]
- for (; G < O; ++G) G in k && (L = N(L, k[G], G, k))
- return L
- }),
- p
- )
- })()
- class d {
- constructor(b) {
- return (
- (this._create = function (u) {
- var p = this
- ;(u = Object.assign(
- {
- host: '192.168.29.100',
- port: 59001,
- clientId: 'testmap',
- group: 'groupA',
- onMessage: function (v) {},
- },
- u
- )),
- (this.ready = new l.defer())
- try {
- ;(this.client = new msc.Client({ host: u.host, port: u.port }, u.clientId)),
- this.client.connect(),
- this.client.onConnect(function () {
- p.ready.resolve(this)
- }),
- this.client.join(u.group),
- this.client.onMessage(u.onMessage)
- } catch (v) {
- p.ready.reject(v.message)
- }
- return this
- }),
- (this.send = function (u) {
- var p = this
- this.ready.then(function () {
- p.client.pub({ sceneId: u.sceneId, targetClientIds: u.targetClientIds, data: u.data })
- })
- }),
- (this.broadcast = function (u) {
- var p = this
- this.ready.then(function () {
- p.client.pub({ sceneId: u.sceneId, data: u.data }, u.group)
- })
- }),
- this._create(b)
- )
- }
- }
- class c extends class {
- constructor() {
- ;(this._listeners = []), (this._scopes = []), (this._toRemove = []), (this._insideRaiseEvent = !1)
- }
- get numberOfListeners() {
- return this._listeners.length - this._toRemove.length
- }
- addEventListener(b, u) {
- if (typeof b == 'function') {
- this._listeners.push(b), this._scopes.push(u)
- var p = this
- return function () {
- p.removeEventListener(b, u)
- }
- }
- }
- removeEventListener(b, u) {
- if (typeof b == 'function') {
- for (var p = this._listeners, v = this._scopes, f = -1, w = 0; w < p.length; w++)
- if (p[w] === b && v[w] === u) {
- f = w
- break
- }
- if (f !== -1)
- return (
- this._insideRaiseEvent
- ? (this._toRemove.push(f), (p[f] = void 0), (v[f] = void 0))
- : (p.splice(f, 1), v.splice(f, 1)),
- !0
- )
- }
- return !1
- }
- raiseEvent() {
- var b
- this._insideRaiseEvent = !0
- var u = this._listeners,
- p = this._scopes,
- v = u.length
- for (b = 0; b < v; b++) {
- var f = u[b]
- f && f != null && u[b].apply(p[b], arguments)
- }
- var w = this._toRemove
- if ((v = w.length) > 0) {
- for (w.sort(o), b = 0; b < v; b++) {
- var R = w[b]
- u.splice(R, 1), p.splice(R, 1)
- }
- w.length = 0
- }
- this._insideRaiseEvent = !1
- }
- } {
- constructor(b) {
- super(), (this.commandQueue = [])
- var u = this,
- p = b.id,
- v = b.url
- function f(w) {
- if (w && w.data)
- try {
- var R = w.data
- if (typeof w.data == 'string') {
- var I = w.data.replace(/^\s+|\s+$/g, '')
- R = JSON.parse(I)
- }
- R.action &&
- R.action !== '' &&
- (R.action == 'MapReady' && u._onReady
- ? u._onReady.call(u)
- : (R.action == 'Camera' && u._cameraDeferred && u._cameraDeferred.resolve(R.data),
- R.action == 'QueryService' &&
- ((u.QueryServiceInfo = R.data), u._queryDeferred && u._queryDeferred.resolve()),
- R.action == 'QueryLocalTask' &&
- u._queryLocalTaskDeferred &&
- u._queryLocalTaskDeferred.resolve(R.data),
- u.raiseEvent(R)))
- } catch {}
- }
- return (
- (this._onReady = b.onReady),
- window.attachEvent
- ? window.attachEvent('message', f)
- : window.addEventListener && window.addEventListener('message', f, !1),
- (this._iframeEle = document.getElementById(p)),
- new Promise((w, R) => {
- this._iframeEle
- ? w(this._iframeEle)
- : (window.onload = function () {
- ;(this._iframeEle = document.getElementById(p)),
- this._iframeEle ||
- ((this._iframeEle = document.createElement('iframe')),
- this._iframeEle.setAttribute('id', p),
- this._iframeEle.setAttribute('scrolling', 'no'),
- this._iframeEle.setAttribute('allowtransparency', 'true'),
- this._iframeEle.setAttribute('allowfullscreen', 'true'),
- this._iframeEle.setAttribute('webkitallowfullscreen', 'true'),
- this._iframeEle.setAttribute('mozallowfullscreen', 'true'),
- document.body.appendChild(this._iframeEle)),
- w(this._iframeEle)
- }.bind(this))
- })
- .then(function (w) {
- return new Promise(function (R, I) {
- ;(w.onload = function () {
- var y = w.contentWindow,
- E = w.src ? w.src : '*'
- R({ iframe: y, domain: E })
- }.bind(this)),
- w.setAttribute('src', v.toString())
- })
- })
- .then(
- function (w) {
- ;(this.iframe = w.iframe),
- (this.domain = w.domain),
- this.commandQueue.length > 0 && (this.Invoke(this.commandQueue), (this.commandQueue = []))
- }.bind(this)
- ),
- this
- )
- }
- Invoke(b) {
- if (b != null) {
- var u = Array.isArray(b) ? b : [b]
- this.iframe !== void 0
- ? u.forEach(
- function (p) {
- p.hasOwnProperty('ActionName') &&
- (p.Parameters &&
- typeof p.Parameters != 'string' &&
- (p.Parameters = JSON.stringify(p.Parameters)),
- this.iframe.postMessage(JSON.stringify(p), this.domain))
- }.bind(this)
- )
- : (this.commandQueue = this.commandQueue.concat(u))
- }
- }
- getCamera() {
- return (
- (this._cameraDeferred = new l.defer()), this.Invoke({ ActionName: 'getCamera' }), this._cameraDeferred
- )
- }
- QueryTask(b) {
- return (
- (this._queryDeferred = new l.defer()),
- this.QueryServiceInfo && this._queryDeferred.resolve(),
- this._queryDeferred.then(
- function () {
- return (
- (this._taskjob && !this._taskjob.checkUpdate(this.QueryServiceInfo)) ||
- (this._taskjob = new A(this.QueryServiceInfo)),
- l.all([this._taskjob.QueryTask(b), this.QueryLocalTask(b)]).then(
- function (u) {
- var p = u
- .filter(function (v) {
- return v != null
- })
- .map(function (v) {
- return v
- })
- return p.length > 0 ? p[0] : void 0
- },
- function (u) {}
- )
- )
- }.bind(this)
- )
- )
- }
- QueryLocalTask(b) {
- return (
- (this._queryLocalTaskDeferred = new l.defer()),
- this.Invoke({ ActionName: 'QueryLocalTask', Parameters: b }),
- this._queryLocalTaskDeferred
- )
- }
- }
- class A {
- constructor(b) {
- var u = [5, 6, 4, 2, 3, 1]
- function p(y, E) {
- for (
- var m = '', j = y.length, U = Math.floor(E.length / j), K = E.length % j, H = [], N = 0;
- N < j;
- N++
- )
- H[y[N] - 1] = U + (K-- > 0 ? 1 : 0)
- for (var k = [], F = 0, L = 0; L < H.length; L++) {
- var O = E.substr(F, H[L])
- k.push(O.split('')), (F += H[L])
- }
- for (var G = f(y), V = 0; V < U + 1; V++)
- for (var ne = 0; ne < j; ne++) m += k[v(G, ne + 1)].shift() || ''
- return m
- }
- var v = function (y, E) {
- for (var m = y.length - 1; m >= 0; m--) if (y[m] == E) return m
- return null
- },
- f = function (y) {
- for (var E = y.length, m = [], j = 0; j < E; j++) m[y[j] - 1] = j + 1
- return m
- }
- ;(this._optionslayers = b.data),
- b &&
- (this.layers = b.data.map(function (y) {
- var E = {}
- for (var m in y) typeof y[m] == 'string' ? (E[m] = p(u, y[m])) : (E[m] = y[m])
- return E
- })),
- (this.layerinfo = void 0),
- (this.code = b.code),
- (this.filter = b.filter),
- (this._loaded = !1),
- (this.checkUpdate = function (y) {
- if (this.code != y.code) return !0
- var E = 0
- return (
- y.data.forEach(
- function (m) {
- this._optionslayers.find(function (j) {
- return m.url == j.url
- }) == null && E++
- }.bind(this)
- ),
- E > 0
- )
- })
- var w = function () {
- var y = l.defer()
- if (this._loaded) y.resolve()
- else {
- if (!this.layers) return void y.reject()
- var E = []
- this.layers.forEach(function (m) {
- m.layerinfo ||
- E.push(
- ((j = m),
- (U = l.defer()),
- l.getJSON(j.url + '?f=pjson').then(function (K) {
- K.error ? U.reject() : ((j.layerinfo = K), U.resolve(j))
- }),
- U)
- )
- var j, U
- }),
- l.all(E).then(
- function () {
- ;(this._loaded =
- this.layers.filter(function (m) {
- return m.layerinfo == null
- }).length == 0),
- y.resolve()
- }.bind(this)
- )
- }
- return y
- },
- R = function (y, E) {
- var m = l.defer(),
- j = this.layers
- .map(function (N) {
- return N.layerinfo && N.layerinfo.layers
- ? {
- url: N.url,
- currentVersion: Number(N.layerinfo.currentVersion),
- spatialReference: N.layerinfo.spatialReference,
- layer: N.layerinfo.layers.find(function (k) {
- return k.name == y
- }),
- }
- : {}
- })
- .filter(function (N) {
- return N.layer != null
- })
- if (j.length == 0) return m.reject(void 0), m
- var U = (j = j[0]).layer
- if (
- U.defaultVisibility == 0 &&
- ((U.subLayerIds && U.subLayerIds.length > 0) || U.type == 'Group Layer')
- ) {
- var K = this.layers.find(function (N) {
- return N.url == j.url
- }),
- H = U.subLayerIds.map(
- function (N) {
- return K.layerinfo.layers.find(function (k) {
- return k.id == N && k.minScale == 0
- })
- }.bind(this)
- )
- ;(H = H.filter(function (N) {
- return N != null
- })),
- j.currentVersion >= 10.7
- ? ((E = E || H[0].geometryType.toLowerCase().replace('esrigeometry', '')),
- (U = H.find(function (N) {
- return (
- N != null && N.geometryType.toLowerCase().replace('esrigeometry', '') == E.toLowerCase()
- )
- })))
- : (U = H.length > 0 ? H[0] : void 0)
- }
- return (j.layer = U), m.resolve(j), m
- },
- I = function (y, E) {
- var m = l.defer()
- if (E) {
- var j = Object.assign({}, y)
- delete j.name, delete j.type
- var U = this.filter
- ;(j.where || j.geometry) && U && (j.where = j.where ? U + ' and ' + j.where : U),
- j.geometry &&
- typeof j.geometry != 'string' &&
- ((j.geometryType = 'esriGeometryPoint'),
- j.geometry.hasOwnProperty('rings') && (j.geometryType = 'esriGeometryPolygon'),
- j.geometry.hasOwnProperty('paths') && (j.geometryType = 'esriGeometryPolyline'),
- delete j.geometry,
- (j.geometry = JSON.stringify(y.geometry).replace(/"/g, '')))
- var K = E.url + '/' + E.layer.id + '/query'
- l.postJSON(K, j).then(
- function (H) {
- var N = {
- geometryType: E.layer.geometryType || H.geometryType,
- spatialReference: E.spatialReference,
- name: y.name,
- features: H.features,
- }
- m.resolve(N)
- }.bind(this),
- function (H) {
- m.reject(void 0)
- }
- )
- } else m.reject()
- return m
- }
- return (
- (this.QueryTask = function (y) {
- if (
- (y = Object.assign(
- {
- name: void 0,
- where: void 0,
- geometry: void 0,
- returnGeometry: !1,
- outFields: '*',
- f: 'pjson',
- type: void 0,
- distance: 0,
- },
- y
- )).name &&
- (y.where || y.geometry)
- )
- return w
- .call(this)
- .then(
- function () {
- return R.call(this, y.name, y.type)
- }.bind(this)
- )
- .then(
- function (m) {
- return I.call(this, y, m)
- }.bind(this)
- )
- var E = l.defer()
- return E.reject('查询参数不正确'), E
- }),
- this
- )
- }
- }
- ;(r = function () {
- return { MapSocket: d, Bridge: c, Task: A }
- }),
- i && i.exports
- ? (i.exports = r())
- : (a = typeof (s = r) == 'function' ? s.call(t, n, t, i) : s) === void 0 || (i.exports = a)
- }).call(this, n(1)(e))
- },
- function (e, t) {
- e.exports = function (n) {
- return (
- n.webpackPolyfill ||
- ((n.deprecate = function () {}),
- (n.paths = []),
- n.children || (n.children = []),
- Object.defineProperty(n, 'loaded', {
- enumerable: !0,
- get: function () {
- return n.l
- },
- }),
- Object.defineProperty(n, 'id', {
- enumerable: !0,
- get: function () {
- return n.i
- },
- }),
- (n.webpackPolyfill = 1)),
- n
- )
- }
- },
- ])
- },
- pE = window,
- oo = {}
- typeof exports == 'object' && typeof module == 'object'
- ? typeof define == 'function' && define.amd
- ? define([], Bi)
- : typeof exports == 'object'
- ? (oo.CityGis = Bi())
- : (pE.CityGis = Bi())
- : (oo = Bi())
- let Mr
- const AE = {
- name: 'Map',
- setup() {
- const e = Oo(),
- t = Qn()
- Be(() => {
- t.toggleGlobalLoading(!0),
- setTimeout(() => {
- t.toggleGlobalLoading(!1)
- }, 2500),
- (Uo.bridgeContent = Mr =
- new oo.Bridge({
- id: 'i_map',
- url: 'http://192.168.2.140:9250/map-tool-widget-interface/#/jk_map',
- onReady: function () {},
- })),
- Zc(),
- g1(1990, -1185, 1412, 13, 54),
- Mr.addEventListener((n) => {
- switch (n.action) {
- case 'MapExtentChanged':
- let i = n.data.scale
- ;(e.extent = n.data.extent), (e.center = n.data.center), (e.camera = n.data.camera), (e.scale = i)
- break
- case 'SelectedCubeInfo':
- let s = n.data.grid
- ;(e.gridCode = s), t.toggleFloatPanel('cube', !0)
- break
- case 'SelectedUAVInfo':
- e.uavId = n.data.uavId
- break
- case 'DrawComplete':
- let a = n.data.geometry
- e.draw_geometry = a
- break
- case 'CurrentUavInfo':
- e.currentUavInfo = n.data.message
- break
- case 'RealTimeUAVList':
- e.realTimeUAVList = n.data.message
- break
- case 'ReturnResult':
- e.queryResult = n.data.message
- break
- case 'CubeResult':
- e.cubeResult = n.data.message
- break
- case 'CurrentCubeLevel':
- e.currentCubeLevel = n.data.level
- break
- }
- })
- })
- },
- },
- gE = { id: 'map' }
- function fE(e, t, n, i, s, a) {
- return Z(), T('div', gE, t[0] || (t[0] = [Y('iframe', { id: 'i_map', name: 'i_map' }, null, -1)]))
- }
- const bE = Kt(AE, [
- ['render', fE],
- ['__scopeId', 'data-v-65f5e18d'],
- ]),
- hE = { key: 0, class: 'global-loader' },
- vE = { class: 'masking' },
- mE = {
- __name: 'Index',
- setup(e) {
- const t = C(Qn())
- return (
- (document.oncontextmenu = new Function('event.returnValue=false;')),
- (document.onselectstart = new Function('event.returnValue=false;')),
- (n, i) => (
- Z(),
- T(
- 'div',
- { id: 'layout', class: B({ loading: t.value.globalLoading, 'scene-loading': t.value.sceneLoading }) },
- [
- t.value.globalLoading || t.value.sceneLoading ? (Z(), T('div', hE)) : X('', !0),
- Y('div', vE, [
- Y('div', { class: B(['m-left', { collapse: t.value.leftCollapse }]) }, null, 2),
- Y('div', { class: B(['m-right', { collapse: t.value.rightCollapse }]) }, null, 2),
- ]),
- i[0] || (i[0] = Y('header', { class: 'header' }, null, -1)),
- P(lE, { class: 'page' }),
- t.value.sceneType === 'gis' ? (Z(), _(bE, { key: 1, class: 'scene' })) : X('', !0),
- ],
- 2
- )
- )
- )
- },
- },
- zE = Kt(mE, [['__scopeId', 'data-v-46392ffc']])
- export { zE as default }
|