{"version":3,"sources":["webpack://[name]/webpack/bootstrap","webpack://[name]/./js/core_last.js","webpack://[name]/./js/index_last.js","webpack://[name]/./js/maps_last.js","webpack://[name]/./js/org_last.js","webpack://[name]/./js/reestr_new.js","webpack://[name]/./js/turn.js","webpack://[name]/./js/usluga_new.js"],"names":["getCoord","getCurrentReg","onlyDistinct","getApiKey","dataFormToURL","urlToObj","SetValuePSize","SetValuePsort","setParamTo","startLoadingAnimation","stoptLoadingAnimation","setControlforReestrListform","setVaribleElemToCntrl","clear","sentAjaxTo","getCookie","setCookie","replaceBrackets","replaceBracketsArr","$","document","ready","sethtmlData","ajax","url","async","success","data","html","type","dataType","contentType","d","region","hasTurn","show","hide","css","error","b","coord","replace","trim","split","currentReg","value","index","array","indexOf","key","formToObj","formCaption","arr","rezArr","i","length","$objArr","find","j","$item","attr","undefined","rezObj","checkVal","forEach","item","push","name","val","prop","obj","rez","text","setDataMulticontrol","iArr","iArrKey","Object","keys","each","indexKey","valueKey","TArr","Tval","formСaption","localName","location","pathname","splice","rezStrSt","rezStr","formParam","sentObj","vl","multiData","arrToStr","history","pushState","title","substr","str","cntrl","decodeURIComponent","search","queryStart","queryEnd","query","slice","nv","k","v","pairs","tv","parseUrlToArr","iStr","Tarr","Rarr","Tobj","id","changeGridControls","txt","setSearchParam","arrObj","searchstr","rezult","imgObj","centerY","window","scrollTop","height","centerX","scrollLeft","width","offset","top","left","setDataControl","lookupTable","param","JSON","stringify","setAjaxRequest","term","object","dataToJSON","response","parse","$items","Obj","trigger","mSelect","tokensMaxItems","placeholder","dataSource","setObj","iemObj","arrObjtoCntrl","$arr","element","captionFunc","sendObj","idVidUsl","e","sendJSON","resp","reestr","require","setDataListOrg","org","setBasicInform","setStructInfo","setFormsInfo","setLicenseInfo","setFreePlaseInfo","setVereficationInfo","setViolationsInfo","setWorkInfo","maps","setAddrList","setListVidOrgForMaps","setListOrgForMaps","setTarigTbl","setTarifInfo","setFormsObslCntrl","setVidUslCntrl","setOtherInfo","hasOwnProperty","setPictInfo","setSinglePick","setRPostRating","setRPostRatingData","setStateRating","setListVidUsl","setListUslFromVidUsl","usluga","setListOrgFromUsl","setQuestionList","setOrgMerop","setUslPred","turn","setResult","setCaptionGroupОfАctivities","setAuthorizedOrganizations","setFounders","setInformationAboutGovernmentServices","matches","cookie","match","RegExp","options","expires","Date","setTime","getTime","toUTCString","encodeURIComponent","updatedCookie","propName","propValue","deleteCookie","end","lenth_","ch","arr_","inde","ServiceShowcase","URL","core","G_usl","sessionStorage","getItem","vidUslObj","_fetchAsync","caption","body","jb","method","headers","fetch","promise","json","_setListVidUsl","setItem","_addMarkupToCategory","_createMarkupToCategory","nkod","on","_setCollapseData","_getListUslFromPreview","base_block","inxblock","currentTarget","header","s_uslId","then","_setListUslFromVidUsl","err","console","_setBaseVidUsl","animate","Q_ROW_BASE","Q_ROW","create","qRow","info","description","Array","isArray","_setListUslFromVidUslSngl","length_","descr","descrSearch","_setSearchParameter","CAPTION_FORM","searchArr","serializeArray","searchObj","searchKey","includes","A","filter","x","arrTmp","map","a","_searchFunction","uslCaption","form_obsl","_clearFunction","href","_setGroupОfАctivities","isEmptyObject","listMerop","append","_setListCaptionMerop","HasError","Result","listCaption","Id","Caption","kode","Kod","kod","init","searchFunction","clearFunction","main","fadeIn","toggleElmnts","strClass","strStart","tStr","strEnd","className","removeClass","addClass","event","stopPropagation","toggle","Map","CORE","myMap","objectManager","list_history","listGroupCaption","_addressToCoord","address","responseData","table","GeoObjectCollection","featureMember","GeoObject","Point","pos","_getColor","vidId","parseInt","colorArr","color","colorId","Math","floor","rtrnBalun","naimk","vidnkod","fra_addr","ntel","_createElemObjManager","arrPoint","ind","geom","coordinates","prpty","balloonContent","hintContent","iconCaption","opt","preset","iconColor","vidid","hideIconOnBalloonOpen","vid","geometry","properties","_setTargetInmap","lastCoord","lat","parseFloat","latitude","long","longitude","addres","prom","orgId","add","regexLongitude","regexLatitude","isMatchLongitude","test","isMatchLatitude","setCenter","checkZoomRange","centerCoord","sumLat","sumLong","lngth","_","Unique","inputArr","inputItem","_setListOrgForMaps","tmp","_openListForms","setFilter","getFilterFunction","categories","content","_setListVidOrgForMaps","htmTxt","kol","tData","_typeOfOrganizationClick","tmpID","target","_organizationClick","parent","objectState","getObjectState","isClustered","clusters","state","set","objects","getById","balloon","open","cluster","_closeForm","remove","_init","ymaps","center","zoom","searchControlProvider","ObjectManager","clusterize","gridSize","clusterDisableClickZoom","clusterBalloonContentLayoutWidth","clusterBalloonContentLayoutHeight","clusterBalloonContentLayout","geoObjects","strSearch","tmpItem","entries","mnuPromise","typeOfOrganizationClick","organizationClick","closeForm","mouseup","draggable","setDataContent","OpenModal","setInfo","clearComment","upDownBut_click","setNumUpDownState","click","cert","getInform","urlData","sfp","formId","lastSim","innerHTML","comm_","onkeyup","oninput","showCount","onpropertychange","propertyName","oncut","setTimeout","questId","clickBtn","dataQ","classItem","$curObj","classItemId","toString","is","children","parseUrl","req","isispsert","toLowerCase","pop","c","substring","concole","addr","base_id","grafic","obslF","sfpMainNkod","structSfpID","value_","index_","currId","IdServices","IdOrganization","_setInfo","listInfo","ListInfo","tip","kolv","s_edizm_nkod","tarif","dataN","period","groupTarif","formobsl","item_arr","usl","docInfo","seria","nomer","datd","sroks","sved","imageid","imagename","getImage","imgId","sum_sv","sum_ob","kolmest_sv","kolmest_ob","tip_name","f_reestrpost_id","naimgr","infoText","datprov","s31","filename","comment","dat_","datustrP","datustrp","datustrf","narush","docinfo","s24","scanid","tbody","naim","scandoc_id","TarifList","arrTarif","Description","tarifList","vid_uch","datan","s_gruptarif_nkod","selectpicker","yInfo","docname","orgname","scanfd","idPick","pick","photo","modal","author","toLocaleString","num_up","num_down","all_data","createQuestion","sendDataTest","count","objQuestion","questions","answ","answers","q_id","a_id","arrItem","alert","maxLength","idRow","butCaption","forma","faktaddr","phone","email","rtrnList","list","join","t","Data","StandartCost","Tarif","Price","Order","NumberOfAgreement","DateOfAgreement","preventDefault","ur","VsertosnpostId","respServices","Nomer","Name","Formobsl","ListIndicatorsQuality","IsFree","Category","LimitServiceScope","ServiceScope","FreeServiceScope","drawfirst","data1","PagerPlugins","totalRows","sendMethodCaption","sendMethodObj","Reestr","setSearchParameter","draw","setOrgList","_setCaptionColumn","sort","reg","_setDataListOrg","_setOrgList","listOrg","sessionCount","district","setOrganizationToDistrict","objTbl","columns","rows","tObj","num","sortvid","tel","mail","jQuery","footable","pagecount","ceil","dId","regid","_rowClick","row","FooTable","getRow","hasClass","_cntrlClick","rowClick","cntrlClick","submit","getTurn","turnCaption","showObj","ErrorMessage","res","toLocaleDateString","getListOrgsforUsl","send","uslId","controls","closest","coordInfo","AddItemNew","AddItem","setBounds","getBounds","request","createElemObjManager","get","catch","responseText","message","createCollectionObjManager","feturesArr","features","getColor","clusterCaption"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;;;;;QC9BgBA,Q,GAAAA,Q;QAeAC,a,GAAAA,a;QAeAC,Y,GAAAA,Y;QAEAC,S,GAAAA,S;QAwGAC,a,GAAAA,a;QA6CAC,Q,GAAAA,Q;QA4DAC,a,GAAAA,a;QAKAC,a,GAAAA,a;QAQAC,U,GAAAA,U;QA4CAC,qB,GAAAA,qB;QAUAC,qB,GAAAA,qB;QAsCAC,2B,GAAAA,2B;QA+CAC,qB,GAAAA,qB;QAyCAC,K,GAAAA,K;QAeAC,U,GAAAA,U;QAsKAC,S,GAAAA,S;QAOAC,S,GAAAA,S;QAiCAC,e,GAAAA,e;QAWAC,kB,GAAAA,kB;;;;AA9sBhBC,CAAC,CAACC,QAAD,CAAD,CAAYC,KAAZ,CAAkB,YAAY;AAC1BC,aAAW;AACd,CAFD;;AAIA,SAASA,WAAT,GAAuB;AACnBH,GAAC,CAACI,IAAF,CAAO;AACHC,OAAG,EAAE,kBADF;AAEHC,SAAK,EAAE,IAFJ;AAGHC,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBR,OAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0BD,IAA1B;AACH;AALE,GAAP;AAOAR,GAAC,CAACI,IAAF,CAAO;AACHC,OAAG,EAAE,aADF;AAEHC,SAAK,EAAE,IAFJ;AAGHC,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBR,OAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0BD,IAA1B;AACH;AALE,GAAP;AAQAR,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,sCAFF;AAGHM,YAAQ,EAAE,MAHP;AAIHL,SAAK,EAAE,IAJJ;AAKHM,eAAW,EAAE,iCALV;AAMHL,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBR,OAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuBD,IAAI,CAACK,CAAL,CAAOC,MAA9B;;AACA,UAAIN,IAAI,CAACK,CAAL,CAAOE,OAAX,EAAoB;AAChBf,SAAC,CAAC,cAAD,CAAD,CAAkBgB,IAAlB;AACAhB,SAAC,CAAC,YAAD,CAAD,CAAgBiB,IAAhB;AACAjB,SAAC,CAAC,eAAD,CAAD,CAAmBgB,IAAnB;AACAhB,SAAC,CAAC,cAAD,CAAD,CAAkBgB,IAAlB;AAEAhB,SAAC,CAAC,8BAAD,CAAD,CAAkCkB,GAAlC,CAAsC,aAAtC,EAAqD,KAArD;AACAlB,SAAC,CAAC,8BAAD,CAAD,CAAkCkB,GAAlC,CAAsC,WAAtC,EAAmD,QAAnD;AACH,OARD,MASK;AACDlB,SAAC,CAAC,cAAD,CAAD,CAAkBiB,IAAlB;AACAjB,SAAC,CAAC,eAAD,CAAD,CAAmBiB,IAAnB;AACAjB,SAAC,CAAC,YAAD,CAAD,CAAgBgB,IAAhB;AACAhB,SAAC,CAAC,cAAD,CAAD,CAAkBiB,IAAlB;AACAjB,SAAC,CAAC,8BAAD,CAAD,CAAkCkB,GAAlC,CAAsC,aAAtC,EAAqD,OAArD;AACAlB,SAAC,CAAC,8BAAD,CAAD,CAAkCkB,GAAlC,CAAsC,WAAtC,EAAmD,QAAnD;AACH;AACJ,KAzBE;AA0BHC,SAAK,EAAE,iBAAY,CACf;AACH;AA5BE,GAAP;AA+BH;;AACM,SAAStC,QAAT,GAAoB;AACvB,MAAIuC,CAAC,GAAG,EAAR;AACApB,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,sCAFF;AAGHM,YAAQ,EAAE,MAHP;AAIHL,SAAK,EAAE,KAJJ;AAKHM,eAAW,EAAE,iCALV;AAMHL,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBY,OAAC,GAAGZ,IAAI,CAACa,KAAL,GAAab,IAAI,CAACK,CAAL,CAAOQ,KAAP,CAAaC,OAAb,CAAqB,GAArB,EAA0B,EAA1B,EAA8BC,IAA9B,GAAqCC,KAArC,CAA2C,GAA3C,CAAb,GAA+D,CAAC,CAAD,EAAI,CAAJ,CAAnE;AACH;AARE,GAAP;AAUA,SAAOJ,CAAP;AACH;;AAEM,SAAStC,aAAT,GAAyB;AAC5B,MAAIsC,CAAC,GAAG,EAAR;AACApB,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,sCAFF;AAGHM,YAAQ,EAAE,MAHP;AAIHL,SAAK,EAAE,KAJJ;AAKHM,eAAW,EAAE,iCALV;AAMHL,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBY,OAAC,GAAGZ,IAAI,CAACK,CAAL,CAAOY,UAAX;AACH;AARE,GAAP;AAUA,SAAOL,CAAP;AACH;;AAEM,SAASrC,YAAT,CAAsB2C,KAAtB,EAA6BC,KAA7B,EAAoCC,KAApC,EAA2C;AAAE,SAAOA,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyBC,KAAhC;AAAwC;;AAErF,SAAS3C,SAAT,GAAqB;AACxB,MAAIoC,CAAC,GAAG,EAAR;AACApB,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,sCAFF;AAGHM,YAAQ,EAAE,MAHP;AAIHL,SAAK,EAAE,KAJJ;AAKHM,eAAW,EAAE,iCALV;AAMHL,WAAO,EAAE,iBAAUC,IAAV,EAAgB;AACrBY,OAAC,GAAGZ,IAAI,CAACK,CAAL,CAAOiB,GAAX;AACH;AARE,GAAP;AAUA,SAAOV,CAAP;AACH,C,CAED;AAEA;AACA;AACA;AACA;;;AACA,SAASW,SAAT,CAAmBC,WAAnB,EAAgC;AAC5B,MAAMC,GAAG,GAAG,CAAC,QAAD,EAAW,OAAX,CAAZ;AACA,MAAIC,MAAM,GAAG,EAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,GAAG,CAACG,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACjC,QAAIE,OAAO,GAAGrC,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0BL,GAAG,CAACE,CAAD,CAA7B,CAAd;;AACA,SAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,OAAO,CAACD,MAA5B,EAAoCG,CAAC,EAArC,EAAyC;AACrC,UAAIC,KAAK,GAAGxC,CAAC,CAACqC,OAAO,CAACE,CAAD,CAAR,CAAb;;AACA,UAAIC,KAAK,CAACC,IAAN,CAAW,MAAX,MAAuBC,SAA3B,EAAsC;AAClC,YAAIC,MAAM,GAAG,EAAb;AACA,YAAIjB,KAAK,GAAGkB,QAAQ,CAACJ,KAAD,CAApB;;AACA,YAAI,QAAQd,KAAR,yCAAQA,KAAR,OAAmB,QAAvB,EAAiC;AAC7BA,eAAK,CAACmB,OAAN,CAAc,UAAUC,IAAV,EAAgB;AAC1BZ,kBAAM,CAACa,IAAP,CAAYD,IAAZ;AACH,WAFD;AAGH,SAJD,MAKK;AACD,cAAIF,QAAQ,CAACJ,KAAD,CAAR,KAAoB,EAAxB,EAA4B;AACxBG,kBAAM,CAACK,IAAP,GAAcR,KAAK,CAACC,IAAN,CAAW,MAAX,CAAd;AACAE,kBAAM,CAACjB,KAAP,GAAekB,QAAQ,CAACJ,KAAD,CAAvB;AAEAN,kBAAM,CAACa,IAAP,CAAYJ,MAAZ;AACH;AACJ;AACJ;AACJ;AACJ;;AACD,SAAOT,MAAP;;AACA,WAASU,QAAT,CAAkBJ,KAAlB,EAAyB;AACrB,QAAId,KAAK,GAAGc,KAAK,CAACS,GAAN,EAAZ;;AAEA,QAAIvB,KAAJ,EAAW;AAEP,cAAQc,KAAK,CAACU,IAAN,CAAW,SAAX,CAAR;AACI,aAAK,OAAL;AACI,cAAIV,KAAK,CAACC,IAAN,CAAW,MAAX,MAAuB,UAA3B,EAAuC;AACnC,gBAAID,KAAK,CAACU,IAAN,CAAW,SAAX,CAAJ,EACI,OAAO,IAAP,CADJ,KAEK,OAAO,EAAP;AACR,WAJD,MAKK,OAAOxB,KAAP;;AACL;;AACJ,aAAK,QAAL;AACI,cAAIO,IAAG,GAAG,EAAV;AACA,cAAIkB,GAAG,GAAGnD,CAAC,CAAC,MAAMwC,KAAK,CAACC,IAAN,CAAW,IAAX,CAAN,GAAyB,kBAA1B,CAAX;;AACA,eAAK,IAAIN,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGgB,GAAG,CAACf,MAAxB,EAAgCD,EAAC,EAAjC,EAAqC;AACjC,gBAAIW,IAAI,GAAGK,GAAG,CAAChB,EAAD,CAAd;AACA,gBAAIiB,GAAG,GAAG,EAAV;AACAA,eAAG,CAACJ,IAAJ,GAAWR,KAAK,CAACC,IAAN,CAAW,MAAX,CAAX;AACAW,eAAG,CAAC1B,KAAJ,GAAYoB,IAAI,CAACO,IAAL,GAAY,GAAZ,GAAkBP,IAAI,CAACpB,KAAnC;;AACAO,gBAAG,CAACc,IAAJ,CAASK,GAAT;AACH;;AACD,iBAAOnB,IAAP;AACA;AApBR;AAsBH,KAxBD,MA0BI,OAAO,EAAP;AACP;AACJ,C,CAED;AACA;;;AACA,SAASqB,mBAAT,CAA6BC,IAA7B,EAAmCZ,MAAnC,EAA2C;AACvC,MAAIa,OAAO,GAAGC,MAAM,CAACC,IAAP,CAAYf,MAAZ,CAAd;AACA,MAAInC,IAAI,GAAG,EAAX;AACAR,GAAC,CAAC2D,IAAF,CAAOH,OAAP,EAAgB,UAACI,QAAD,EAAWC,QAAX,EAAwB;AACpC,QAAIC,IAAI,GAAG,EAAX;AACA9D,KAAC,CAAC2D,IAAF,CAAOJ,IAAP,EAAa,UAAC5B,KAAD,EAAQsB,GAAR,EAAgB;AACzB,UAAID,IAAI,GAAGC,GAAG,CAACD,IAAf;;AACA,UAAIA,IAAI,CAACnB,OAAL,CAAagC,QAAb,IAAyB,CAAC,CAA9B,EAAiC;AAC7B,YAAIE,IAAI,GAAGd,GAAG,CAACvB,KAAf;AACAoC,YAAI,CAACf,IAAL,CAAUgB,IAAV;AACH;AACJ,KAND;AAOA,QAAID,IAAI,CAAC1B,MAAL,GAAc,CAAlB,EACI5B,IAAI,CAACqD,QAAD,CAAJ,GAAiBC,IAAjB;AAEP,GAZD;AAaA,SAAOtD,IAAP;AACH,C,CAED;;;AACO,SAASvB,aAAT,CAAuB+E,WAAvB,EAAoC;AACvC,MAAIC,SAAS,GAAGC,QAAQ,CAACC,QAAT,CAAkB3C,KAAlB,CAAwB,GAAxB,CAAhB;AACA,MAAIyC,SAAS,CAAC7B,MAAV,GAAmB,CAAvB,EACI6B,SAAS,CAACG,MAAV,CAAiB,CAAjB,EAAoBH,SAAS,CAAC7B,MAAV,GAAmB,CAAvC;AAEJ,MAAIiC,QAAQ,GAAGJ,SAAS,GAAG,GAA3B;AAEA,MAAIK,MAAM,GAAG,EAAb;AACA,MAAIC,SAAS,GAAGxC,SAAS,CAACiC,WAAD,CAAzB;AAEA,MAAIQ,OAAO,GAAG,EAAd;AACAxE,GAAC,CAAC2D,IAAF,CAAOY,SAAP,EAAkB,UAAC5C,KAAD,EAAQsB,GAAR,EAAgB;AAC9B,QAAIwB,EAAE,GAAGxB,GAAG,CAACvB,KAAb;AACA8C,WAAO,CAACvB,GAAG,CAACD,IAAL,CAAP,GAAoByB,EAApB;AACH,GAHD;AAIAD,SAAO,CAAC,UAAD,CAAP,GAAsB,IAAtB;AACAA,SAAO,CAAC,MAAD,CAAP,GAAkB,GAAlB;AAEA,MAAIE,SAAS,GAAGpB,mBAAmB,CAACiB,SAAD,EAAYC,OAAZ,CAAnC;AAEAxE,GAAC,CAAC2D,IAAF,CAAOa,OAAP,EAAgB,UAAC1C,GAAD,EAAMJ,KAAN,EAAgB;AAC5B8C,WAAO,CAAC1C,GAAD,CAAP,GAAgB4C,SAAS,CAAC5C,GAAD,CAAT,KAAmBY,SAAnB,GAA+B8B,OAAO,CAAC1C,GAAD,CAAtC,GAA8C4C,SAAS,CAAC5C,GAAD,CAAvE;AACH,GAFD;AAIA9B,GAAC,CAAC2D,IAAF,CAAOa,OAAP,EAAgB,UAAC1C,GAAD,EAAMmB,GAAN,EAAc;AAC1BqB,UAAM,IAAI,MAAMxC,GAAN,GAAY,GAAZ,GAAkB6C,QAAQ,CAAC1B,GAAD,CAApC;AACH,GAFD;AAGA2B,SAAO,CAACC,SAAR,CAAkB,EAAlB,EAAsB5E,QAAQ,CAAC6E,KAA/B,EAAsCT,QAAQ,GAAGC,MAAM,CAACS,MAAP,CAAc,CAAd,CAAjD;AACH;;AAED,SAASJ,QAAT,CAAkB1C,GAAlB,EAAuB;AACnB,MAAI+C,GAAG,GAAG,EAAV;;AACA,MAAI,QAAQ/C,GAAR,yCAAQA,GAAR,OAAiB,QAArB,EAA+B;AAC3BA,OAAG,CAACY,OAAJ,CAAY,UAACnB,KAAD,EAAQC,KAAR,EAAeM,GAAf,EAAuB;AAC/B+C,SAAG,IAAI,MAAMtD,KAAb;AACH,KAFD;AAGA,WAAOsD,GAAG,CAACD,MAAJ,CAAW,CAAX,CAAP;AACH,GALD,MAMK,OAAO9C,GAAP;AAER,C,CAED;AACA;AACA;;;AACO,SAAS/C,QAAT,CAAkB+F,KAAlB,EAAyB;AAC5B,MAAI5E,GAAG,GAAG6E,kBAAkB,CAAChB,QAAQ,CAACiB,MAAV,CAA5B;AACA,MAAIC,UAAU,GAAG/E,GAAG,CAACwB,OAAJ,CAAY,GAAZ,IAAmB,CAApC;AAAA,MACIwD,QAAQ,GAAGhF,GAAG,CAACwB,OAAJ,CAAY,GAAZ,IAAmB,CAAnB,IAAwBxB,GAAG,CAAC+B,MAAJ,GAAa,CADpD;AAAA,MAEIkD,KAAK,GAAGjF,GAAG,CAACkF,KAAJ,CAAUH,UAAV,EAAsBC,QAAQ,GAAG,CAAjC,CAFZ;AAAA,MAGI7E,IAAI,GAAG,EAHX;AAAA,MAIIgF,EAJJ;AAAA,MAKIC,CALJ;AAAA,MAMIC,CANJ;AAAA,MAOIC,KAAK,GAAGL,KAAK,CAAChE,OAAN,CAAc,KAAd,EAAqB,GAArB,EAA0BE,KAA1B,CAAgC,GAAhC,CAPZ;;AAQA,MAAI8D,KAAK,KAAKjF,GAAV,IAAiBiF,KAAK,KAAK,EAA/B,EAAmC;AAC/B,WAAO9E,IAAI,GAAG,IAAd;AACH;;AACD,OAAK,IAAI2B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwD,KAAK,CAACvD,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACnCqD,MAAE,GAAGG,KAAK,CAACxD,CAAD,CAAL,CAASX,KAAT,CAAe,GAAf,CAAL;AACAiE,KAAC,GAAGP,kBAAkB,CAACM,EAAE,CAAC,CAAD,CAAH,CAAtB;AACAE,KAAC,GAAGR,kBAAkB,CAACM,EAAE,CAAC,CAAD,CAAH,CAAlB,KAA8B,IAA9B,GAAqC,IAArC,GAA4CN,kBAAkB,CAACM,EAAE,CAAC,CAAD,CAAH,CAAlE;;AACA,QAAIE,CAAC,KAAK,EAAN,IAAYA,CAAC,KAAKhD,SAAtB,EAAiC;AAC7B,UAAIkD,EAAE,GAAGC,aAAa,CAACH,CAAD,EAAIT,KAAJ,CAAtB;AACAzE,UAAI,CAACiF,CAAD,CAAJ,GAAUG,EAAV;AACH;AACJ;;AACD,SAAOpF,IAAP;AACH;;AAED,SAASqF,aAAT,CAAuBC,IAAvB,EAA6Bb,KAA7B,EAAoC;AAChC,MAAIc,IAAI,GAAGD,IAAI,CAACtE,KAAL,CAAW,GAAX,CAAX;AACA,MAAIwE,IAAI,GAAG,EAAX;;AACA,MAAID,IAAI,CAAC3D,MAAL,GAAc,CAAlB,EAAqB;AACjB2D,QAAI,CAAClD,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeoE,IAAf,EAAwB;AACjC,UAAI,CAACd,KAAL,EACIe,IAAI,CAACrE,KAAD,CAAJ,GAAcD,KAAK,CAACF,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAd,CADJ,KAEK;AACD,YAAIyE,IAAI,GAAG,EAAX;AACAA,YAAI,CAACR,CAAL,GAAS/D,KAAK,CAACF,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAT;AACAyE,YAAI,CAACP,CAAL,GAAShE,KAAK,CAACF,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAT;AACAwE,YAAI,CAACrE,KAAD,CAAJ,GAAcsE,IAAd;AACH;AAEJ,KAVD;AAWA,WAAOD,IAAP;AACH,GAbD,MAcK;AACD,QAAIjC,IAAI,GAAGgC,IAAI,CAAC,CAAD,CAAf;;AACA,QAAIhC,IAAI,CAACvC,KAAL,CAAW,GAAX,EAAgBY,MAAhB,GAAyB,CAA7B,EAAgC;AAC5B,UAAI,CAAC6C,KAAL,EACI,OAAOlB,IAAI,CAACvC,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAP,CADJ,KAEK;AACD,YAAIyE,IAAI,GAAG,EAAX;AACAA,YAAI,CAACR,CAAL,GAAS1B,IAAI,CAACvC,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAT;AACAyE,YAAI,CAACP,CAAL,GAAS3B,IAAI,CAACvC,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAT;AACA,eAAOyE,IAAP;AACH;AACJ,KATD,MAWI,OAAOlC,IAAP;AACP;AACJ,C,CAED;;;AACO,SAAS5E,aAAT,CAAuB+G,EAAvB,EAA2B;AAC9BlG,GAAC,CAAC,4BAAD,CAAD,CAAgCqD,IAAhC,CAAqC6C,EAArC;AACAC,oBAAkB,CAAC,IAAD,CAAlB;AACH;;AAEM,SAAS/G,aAAT,CAAuB8G,EAAvB,EAA2B;AAC9B,MAAIE,GAAG,GAAGpG,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY7C,IAAZ,EAAV;AACArD,GAAC,CAAC,2BAAD,CAAD,CAA+BqD,IAA/B,CAAoC+C,GAApC;AACApG,GAAC,CAAC,8BAAD,CAAD,CAAkCiD,GAAlC,CAAsCiD,EAAE,CAAC,CAAD,CAAxC;AACAC,oBAAkB,CAAC,IAAD,CAAlB;AACH,C,CAED;;;AACO,SAAS9G,UAAT,CAAoBmB,IAApB,EAA0B;AAC7B,OAAK,IAAIsC,IAAT,IAAiBtC,IAAjB;AACI,YAAQsC,IAAR;AACI,WAAK,UAAL;AACI9C,SAAC,CAAC,4BAAD,CAAD,CAAgCqD,IAAhC,CAAqC7C,IAAI,CAACsC,IAAD,CAAzC;AACA;;AACJ,WAAK,MAAL;AACI9C,SAAC,CAAC,oCAAD,CAAD,CAAwCiD,GAAxC,CAA4CzC,IAAI,CAACsC,IAAD,CAAhD;AACA,YAAIsD,GAAG,GAAGpG,CAAC,CAAC,MAAMQ,IAAI,CAACsC,IAAD,CAAV,GAAmB,KAApB,CAAD,CAA4BO,IAA5B,EAAV;AACArD,SAAC,CAAC,2BAAD,CAAD,CAA+BqD,IAA/B,CAAoC+C,GAApC;AACA;;AACJ;AACIpG,SAAC,CAAC,iBAAiB8C,IAAjB,GAAwB,IAAzB,CAAD,CAAgCG,GAAhC,CAAoCzC,IAAI,CAACsC,IAAD,CAAxC;AACA;AAXR;AADJ;AAeH,C,CAGD;;;AACA,SAASuD,cAAT,CAAwBC,MAAxB,EAAgC;AAC5B,MAAIC,SAAS,GAAGrC,QAAQ,CAACiB,MAAT,CAAgB3D,KAAhB,CAAsB,GAAtB,CAAhB;AACA+E,WAAS,CAAC,CAAD,CAAT,GAAeA,SAAS,CAAC,CAAD,CAAT,CAAaxB,MAAb,CAAoB,CAApB,CAAf;AACA,MAAIyB,MAAM,GAAG,EAAb;;AACA,OAAK,IAAIjE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+D,MAAM,CAAClE,MAA3B,EAAmC,EAAEG,CAArC,EAAwC;AACpC,QAAIO,IAAI,GAAGwD,MAAM,CAAC/D,CAAD,CAAjB;;AACA,SAAK,IAAIJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoE,SAAS,CAACnE,MAA9B,EAAsC,EAAED,CAAxC;AACI,UAAIoE,SAAS,CAACpE,CAAD,CAAT,CAAagD,MAAb,CAAoBrC,IAAI,CAAC2C,CAAzB,MAAgC,CAApC,EACIc,SAAS,CAACpE,CAAD,CAAT,GAAe,EAAf;AAFR;AAGH;;AACD,OAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoE,SAAS,CAACnE,MAA9B,EAAsC,EAAED,CAAxC;AACI,QAAIoE,SAAS,CAACpE,CAAD,CAAT,KAAiB,EAArB,EACIqE,MAAM,IAAI,MAAMD,SAAS,CAACpE,CAAD,CAAzB;AAFR;;AAGA,OAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+D,MAAM,CAAClE,MAA3B,EAAmC,EAAEG,CAArC,EAAwC;AACpC,QAAIO,IAAI,GAAGwD,MAAM,CAAC/D,CAAD,CAAjB;AACAiE,UAAM,IAAI,MAAM1D,IAAI,CAAC2C,CAAX,GAAe,GAAf,GAAqB3C,IAAI,CAAC4C,CAApC;AACH;;AACDc,QAAM,GAAG,MAAMA,MAAM,CAACzB,MAAP,CAAc,CAAd,CAAf;AACA,SAAOyB,MAAP;AACH,C,CAED;AAEA;;;AACO,SAASlH,qBAAT,GAAiC;AACpC,MAAImH,MAAM,GAAGzG,CAAC,CAAC,UAAD,CAAd;AACAyG,QAAM,CAACzF,IAAP;AAEA,MAAI0F,OAAO,GAAG1G,CAAC,CAAC2G,MAAD,CAAD,CAAUC,SAAV,KAAwB5G,CAAC,CAAC2G,MAAD,CAAD,CAAUE,MAAV,KAAqB,CAA3D;AACA,MAAIC,OAAO,GAAG9G,CAAC,CAAC2G,MAAD,CAAD,CAAUI,UAAV,KAA0B/G,CAAC,CAAC2G,MAAD,CAAD,CAAUK,KAAV,EAAD,GAAsB,CAA7D;AACAP,QAAM,CAACQ,MAAP,CAAc;AAAEC,OAAG,EAAER,OAAP;AAAgBS,QAAI,EAAEL;AAAtB,GAAd;AACH,C,CAED;;;AACO,SAASvH,qBAAT,GAAiC;AACpCS,GAAC,CAAC,UAAD,CAAD,CAAciB,IAAd;AACH,C,CAED;AACA;;;AACA,SAASmG,cAAT,CAAwBC,WAAxB,EAAqCC,KAArC,EAA4C;AACxC,MAAI9G,IAAI,GAAG,EAAX;;AACA,MAAI6G,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,EAA5C,EAAgD;AAC5C7G,QAAI,CAAC6G,WAAL,GAAmBA,WAAnB;AACH;;AACD7G,MAAI,CAACwC,IAAL,GAAYsE,KAAZ;AACA,SAAOC,IAAI,CAACC,SAAL,CAAehH,IAAf,CAAP;AACH;;AAED,SAASiH,cAAT,CAAwBC,IAAxB,EAA8BC,MAA9B,EAAsCC,UAAtC,EAAkD;AAC9C5H,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,yCAFF;AAGHG,QAAI,EAAE,mBAAmBoH,UAAnB,GAAgC,IAHnC;AAIHjH,YAAQ,EAAE,MAJP;AAKHC,eAAW,EAAE,iCALV;AAMHL,WAAO,EAAE,iBAAUsH,QAAV,EAAoB;AACzB,UAAIrH,IAAI,GAAG+G,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;AACA,UAAIkH,MAAM,GAAG,EAAb;AACA/H,OAAC,CAAC2D,IAAF,CAAOnD,IAAP,EAAa,UAAUiF,CAAV,EAAaC,CAAb,EAAgB;AACzB,YAAIsC,GAAG,GAAG;AACNvC,WAAC,EAAEC,CAAC,CAACD,CADC;AAENC,WAAC,EAAE5F,eAAe,CAAC4F,CAAC,CAACA,CAAH;AAFZ,SAAV;AAIAqC,cAAM,CAAChF,IAAP,CAAYiF,GAAZ;AACH,OAND;AAOAL,YAAM,CAACM,OAAP,CAAe,wBAAf,EAAyC,CAACF,MAAD,CAAzC;AACH;AAjBE,GAAP;AAmBH,C,CAED;;;AACO,SAASvI,2BAAT,GAAuC;AAC1CQ,GAAC,CAAC,WAAD,CAAD,CAAekI,OAAf,CAAuB;AACnBC,kBAAc,EAAE,CADG;AAEnBC,eAAW,EAAE,iBAFM;AAGnBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,UAAD,EAAaM,IAAb,CAA7B,CAAd;AACH;AALkB,GAAvB;AAQA1H,GAAC,CAAC,UAAD,CAAD,CAAckI,OAAd,CAAsB;AAClBE,eAAW,EAAE,iBADK;AAElBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,SAAD,EAAYM,IAAZ,CAA7B,CAAd;AACH;AAJiB,GAAtB;AAMA1H,GAAC,CAAC,OAAD,CAAD,CAAWkI,OAAX,CAAmB;AACfE,eAAW,EAAE,iBADE;AAEfC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,MAAD,EAASM,IAAT,CAA7B,CAAd;AACH;AAJc,GAAnB;AAMA1H,GAAC,CAAC,SAAD,CAAD,CAAakI,OAAb,CAAqB;AACjBE,eAAW,EAAE,iBADI;AAEjBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,QAAD,EAAWM,IAAX,CAA7B,CAAd;AACH;AAJgB,GAArB;AAMA1H,GAAC,CAAC,eAAD,CAAD,CAAmBkI,OAAnB,CAA2B;AACvBE,eAAW,EAAE,iBADU;AAEvBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,cAAD,EAAiBM,IAAjB,CAA7B,CAAd;AACH;AAJsB,GAA3B;AAMA1H,GAAC,CAAC,QAAD,CAAD,CAAYkI,OAAZ,CAAoB;AAChBE,eAAW,EAAE,iBADG;AAEhBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,OAAD,EAAUM,IAAV,CAA7B,CAAd;AACH;AAJe,GAApB;AAMA1H,GAAC,CAAC,eAAD,CAAD,CAAmBkI,OAAnB,CAA2B;AACvBE,eAAW,EAAE,iBADU;AAEvBC,cAAU,EAAE,oBAAUX,IAAV,EAAgBC,MAAhB,EAAwB;AAChCF,oBAAc,CAACC,IAAD,EAAOC,MAAP,EAAeP,cAAc,CAAC,cAAD,EAAiBM,IAAjB,CAA7B,CAAd;AACH;AAJsB,GAA3B;AAMH;;AAEM,SAASjI,qBAAT,CAA+BuC,WAA/B,EAA4CsG,MAA5C,EAAoD;AACvD,OAAK,IAAIC,MAAT,IAAmBD,MAAnB,EAA2B;AACvB,QAAI,QAAQA,MAAM,CAACC,MAAD,CAAd,MAA4B,QAAhC,EAA0C;AAEtC,UAAIzG,GAAG,GAAG,IAAV;AACA,UAAIJ,KAAK,GAAG,IAAZ;AAEA,UAAI8G,aAAa,GAAGF,MAAM,CAACC,MAAD,CAA1B;;AAEA,UAAI,YAAYC,aAAhB,EAA+B;AAC3B,aAAK,IAAIhI,IAAT,IAAiBgI,aAAjB,EAAgC;AAC5B,cAAIA,aAAa,CAAChI,IAAD,CAAjB,EAAyB;AACrBsB,eAAG,GAAI0G,aAAa,CAAChI,IAAD,CAAb,CAAoBiF,CAApB,GAAwB+C,aAAa,CAAChI,IAAD,CAAb,CAAoBiF,CAA5C,GAAgD+C,aAAa,CAAChI,IAAD,CAAb,CAAoB0F,EAA3E;AACAxE,iBAAK,GAAI8G,aAAa,CAAChI,IAAD,CAAb,CAAoBkF,CAApB,GAAwB8C,aAAa,CAAChI,IAAD,CAAb,CAAoBkF,CAA5C,GAAgD8C,aAAa,CAAChI,IAAD,CAAb,CAAoBwC,IAA7E;AAEA,gBAAIhD,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,aAAaiG,MAAb,GAAsB,GAAhD,EAAqDnG,MAArD,GAA8D,CAAlE,EACIpC,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,aAAaiG,MAAb,GAAsB,GAAhD,EAAqDL,OAArD,GAA+DD,OAA/D,CAAuE,qBAAvE,EAA8F,CAACnG,GAAD,EAAMJ,KAAN,EAAa,IAAb,CAA9F,EADJ,KAGI,IAAI1B,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,MAAMiG,MAAhC,EAAwCnG,MAAxC,GAAiD,CAArD,EACIpC,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,MAAMiG,MAAhC,EAAwCL,OAAxC,GAAkDD,OAAlD,CAA0D,qBAA1D,EAAiF,CAACnG,GAAD,EAAMJ,KAAN,EAAa,IAAb,CAAjF;AACX;AACJ;AACJ,OAbD,MAcK;AACD,YAAII,IAAG,GAAG0G,aAAa,CAAC/C,CAAxB;AACA,YAAI/D,MAAK,GAAG8G,aAAa,CAAC9C,CAA1B;AAEA,YAAI1F,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,aAAaiG,MAAb,GAAsB,GAAhD,EAAqDnG,MAArD,GAA8D,CAAlE,EACIpC,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,aAAaiG,MAAb,GAAsB,GAAhD,EAAqDL,OAArD,GAA+DD,OAA/D,CAAuE,qBAAvE,EAA8F,CAACnG,IAAD,EAAMJ,MAAN,EAAa,IAAb,CAA9F,EADJ,KAGI,IAAI1B,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,MAAMiG,MAAhC,EAAwCnG,MAAxC,GAAiD,CAArD,EACIpC,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,MAAMiG,MAAhC,EAAwCL,OAAxC,GAAkDD,OAAlD,CAA0D,qBAA1D,EAAiF,CAACnG,IAAD,EAAMJ,MAAN,EAAa,IAAb,CAAjF;AACX;AACJ,KA/BD,MAgCK;AACD1B,OAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,aAAaiG,MAAb,GAAsB,GAAhD,EAAqDtF,GAArD,CAAyDqF,MAAM,CAACC,MAAD,CAA/D;AACH;AACJ;AACJ,C,CAED;;;AACO,SAAS7I,KAAT,CAAesC,WAAf,EAA4B;AAC/B,MAAIyG,IAAI,GAAGzI,CAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,QAA1B,CAAX;AACAmG,MAAI,CAAC9E,IAAL,CAAU,UAAChC,KAAD,EAAQ+G,OAAR,EAAoB;AAC1B,QAAIxC,EAAE,GAAGwC,OAAO,CAACxC,EAAjB;AACAlG,KAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,MAAM4D,EAAhC,EAAoCgC,OAApC,GAA8CD,OAA9C,CAAsD,gBAAtD;AACH,GAHD;AAKAjI,GAAC,CAAC,MAAMgC,WAAP,CAAD,CAAqBM,IAArB,CAA0B,OAA1B,EAAmCW,GAAnC,CAAuC,EAAvC;AACH,C,CAID;AACA;AACA;;;AACO,SAAStD,UAAT,CAAoBgJ,WAApB,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIC,QAAQ,GAAG,IAAf;;AACA,MAAI;AACAA,YAAQ,GAAGD,OAAO,CAACC,QAAnB;AACH,GAFD,CAEE,OAAOC,CAAP,EAAU,CAAG;;AACf,MAAIC,QAAQ,GAAGxB,IAAI,CAACC,SAAL,CAAeoB,OAAf,CAAf;AACA,MAAID,WAAW,KAAK,yBAApB,EAA+CrJ,qBAAqB;AACpEU,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,8BAA8BsI,WAFhC;AAGHnI,QAAI,EAAE,mBAAmBuI,QAAnB,GAA8B,IAHjC;AAIHnI,eAAW,EAAE,iCAJV;AAKHD,YAAQ,EAAE,MALP;AAMHJ,WAAO,EAAE,iBAAUsH,QAAV,EAAoB;AACzB,UAAImB,IAAI,GAAGzB,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;;AACA,cAAQ8H,WAAR;AACI,aAAK,YAAL;AACI,cAAIM,MAAM,GAAGC,mBAAO,CAAC,2CAAD,CAApB;;AACAD,gBAAM,CAACE,cAAP,CAAsBH,IAAtB;AACA;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACC,cAAJ,CAAmBL,IAAnB;AACA;;AACJ,aAAK,oBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACE,aAAJ,CAAkBN,IAAlB;AACA;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACG,YAAJ,CAAiBP,IAAjB;AACA;;AACJ,aAAK,gBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACI,cAAJ,CAAmBR,IAAnB;AACA;;AACJ,aAAK,kBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACK,gBAAJ,CAAqBT,IAArB;AACA;;AACJ,aAAK,qBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACM,mBAAJ,CAAwBV,IAAxB;AACA;;AACJ,aAAK,mBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACO,iBAAJ,CAAsBX,IAAtB;AACA;;AACJ,aAAK,aAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACQ,WAAJ,CAAgBZ,IAAhB;AACA;;AACJ,aAAK,aAAL;AACI,cAAIa,IAAI,GAAGX,mBAAO,CAAC,yCAAD,CAAlB;;AACAW,cAAI,CAACC,WAAL,CAAiBd,IAAjB;AACA;;AACJ,aAAK,sBAAL;AACI,cAAIa,IAAI,GAAGX,mBAAO,CAAC,yCAAD,CAAlB;;AACAW,cAAI,CAACE,oBAAL,CAA0Bf,IAA1B;AACA;;AACJ,aAAK,iBAAL;AACI,cAAIa,IAAI,GAAGX,mBAAO,CAAC,yCAAD,CAAlB;;AACAW,cAAI,CAACG,iBAAL,CAAuBhB,IAAvB;AACA;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACA,cAAIpK,aAAa,MAAM,EAAvB,EACIsK,GAAG,CAACa,WAAJ,CAAgBjB,IAAhB,EADJ,KAGII,GAAG,CAACc,YAAJ,CAAiBlB,IAAjB;AACJ;;AACJ,aAAK,oBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACA,cAAIL,QAAQ,KAAKnG,SAAjB,EACI0G,GAAG,CAACe,iBAAJ,CAAsBnB,IAAtB,EADJ,KAGII,GAAG,CAACgB,cAAJ,CAAmBpB,IAAnB;AACJ;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACiB,YAAJ,CAAiBrB,IAAjB;AACA;;AACJ,aAAK,eAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACA,cAAIF,IAAI,IAAI,EAAZ,EAAgB;AACZ,gBAAI,CAACA,IAAI,CAAC,CAAD,CAAJ,CAAQsB,cAAR,CAAuB,OAAvB,CAAL,EACIlB,GAAG,CAACmB,WAAJ,CAAgBvB,IAAhB,EADJ,KAGII,GAAG,CAACoB,aAAJ,CAAkBxB,IAAlB;AACP,WALD,MAMK;AACDhJ,aAAC,CAAC,iBAAD,CAAD,CAAqBgB,IAArB;AACAhB,aAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B,4FAA1B;AACH;;AACD;;AACJ,aAAK,cAAL;AACI,cAAI2I,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACqB,cAAJ,CAAmBzB,IAAnB;AACA;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACsB,kBAAJ,CAAuB1B,IAAvB;AACA;;AACJ,aAAK,yBAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACuB,cAAJ,CAAmB3B,IAAnB;AACA;;AACJ,aAAK,eAAL;AACI,cAAIrH,KAAK,GAAGuH,mBAAO,CAAC,2CAAD,CAAnB;;AACAvH,eAAK,CAACiJ,aAAN,CAAoB5B,IAApB;AACA;;AACJ,aAAK,sBAAL;AACI,cAAIrH,KAAK,GAAGuH,mBAAO,CAAC,2CAAD,CAAnB;;AACAvH,eAAK,CAACkJ,oBAAN,CAA2B7B,IAA3B;AACA;;AACJ,aAAK,mBAAL;AACI,cAAI8B,MAAM,GAAG5B,mBAAO,CAAC,2CAAD,CAApB;;AACA4B,gBAAM,CAACC,iBAAP,CAAyB/B,IAAzB;AACA;;AACJ,aAAK,cAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAAC4B,eAAJ,CAAoBhC,IAApB;AACA;;AACJ,aAAK,aAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAAC6B,WAAJ,CAAgBjC,IAAhB;AACA;;AACJ,aAAK,YAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAAC8B,UAAJ,CAAelC,IAAf;AACA;;AACJ,aAAK,SAAL;AACI,cAAImC,IAAI,GAAGjC,mBAAO,CAAC,+BAAD,CAAlB;;AACAiC,cAAI,CAACC,SAAL,CAAepC,IAAf;AACA;;AACJ,aAAK,6BAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACiC,2BAAJ,CAAgCrC,IAAhC;AACA;;AACJ,aAAK,4BAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACkC,0BAAJ,CAA+BtC,IAA/B;AACA;;AAEJ,aAAK,aAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACmC,WAAJ,CAAgBvC,IAAhB;AACA;;AACJ,aAAK,uCAAL;AACI,cAAII,GAAG,GAAGF,mBAAO,CAAC,uCAAD,CAAjB;;AACAE,aAAG,CAACoC,qCAAJ,CAA0CxC,IAA1C;AACA;AAxIR;;AA6IA,UAAIL,WAAW,KAAK,oBAApB,EAA0CpJ,qBAAqB;AAClE,KAtJE;AAuJH4B,SAAK,EAAE,eAAU0G,QAAV,EAAoB;AACvBtI,2BAAqB;AACxB;AAzJE,GAAP;AA4JH,C,CAED;;;AACO,SAASK,SAAT,CAAmBoD,IAAnB,EAAyB;AAC5B,MAAIyI,OAAO,GAAGxL,QAAQ,CAACyL,MAAT,CAAgBC,KAAhB,CAAsB,IAAIC,MAAJ,CAChC,aAAa5I,IAAI,CAAC1B,OAAL,CAAa,8BAAb,EAA6C,MAA7C,CAAb,GAAoE,UADpC,CAAtB,CAAd;AAGA,SAAOmK,OAAO,GAAGvG,kBAAkB,CAACuG,OAAO,CAAC,CAAD,CAAR,CAArB,GAAoC/I,SAAlD;AACH;;AAEM,SAAS7C,SAAT,CAAmBmD,IAAnB,EAAyBtB,KAAzB,EAAgCmK,OAAhC,EAAyC;AAC5CA,SAAO,GAAGA,OAAO,IAAI,EAArB;AACA,MAAIC,OAAO,GAAGD,OAAO,CAACC,OAAtB;;AACA,MAAI,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAAnC,EAA4C;AACxC,QAAIjL,CAAC,GAAG,IAAIkL,IAAJ,EAAR;AACAlL,KAAC,CAACmL,OAAF,CAAUnL,CAAC,CAACoL,OAAF,KAAcH,OAAO,GAAG,IAAlC;AACAA,WAAO,GAAGD,OAAO,CAACC,OAAR,GAAkBjL,CAA5B;AACH;;AACD,MAAIiL,OAAO,IAAIA,OAAO,CAACI,WAAvB,EAAoC;AAChCL,WAAO,CAACC,OAAR,GAAkBA,OAAO,CAACI,WAAR,EAAlB;AACH;;AACDxK,OAAK,GAAGyK,kBAAkB,CAACzK,KAAD,CAA1B;AACA,MAAI0K,aAAa,GAAGpJ,IAAI,GAAG,GAAP,GAAatB,KAAjC;;AACA,OAAK,IAAI2K,QAAT,IAAqBR,OAArB,EAA8B;AAC1BO,iBAAa,IAAI,OAAOC,QAAxB;AACA,QAAIC,SAAS,GAAGT,OAAO,CAACQ,QAAD,CAAvB;;AACA,QAAIC,SAAS,KAAK,IAAlB,EAAwB;AACpBF,mBAAa,IAAI,MAAME,SAAvB;AACH;AACJ;;AACDrM,UAAQ,CAACyL,MAAT,GAAkBU,aAAlB;AACH;;AAED,SAASG,YAAT,CAAsBvJ,IAAtB,EAA4B;AACxBnD,WAAS,CAACmD,IAAD,EAAO,EAAP,EAAW;AAChB8I,WAAO,EAAE,CAAC;AADM,GAAX,CAAT;AAGH,C,CAGD;AAEA;;;AACO,SAAShM,eAAT,CAAyBkF,GAAzB,EAA8B;AACjC,MAAIwH,GAAG,GAAGxH,GAAG,CAACnD,OAAJ,CAAY,GAAZ,IAAmB,CAA7B;AACA,MAAI4K,MAAM,GAAGzH,GAAG,CAAC5C,MAAjB;AAEA,MAAIoE,MAAM,GAAGxB,GAAb;AACA,MAAIwH,GAAG,KAAK,CAAC,CAAb,EACIhG,MAAM,GAAGxB,GAAG,CAACO,KAAJ,CAAUiH,GAAV,EAAeC,MAAf,CAAT;AACJ,SAAOjG,MAAP;AACH,C,CAED;;;AACO,SAASzG,kBAAT,CAA4BiF,GAA5B,EAAiC0H,EAAjC,EAAqC;AACxC,MAAIC,IAAI,GAAG3H,GAAG,CAACxD,KAAJ,CAAUkL,EAAV,CAAX;AACA,MAAIlG,MAAM,GAAG,EAAb;AACAmG,MAAI,CAAC9J,OAAL,CAAa,UAACnB,KAAD,EAAQkL,IAAR,EAAcD,IAAd,EAAuB;AAChCnG,UAAM,IAAKkG,EAAE,GAAG,GAAL,GAAW5M,eAAe,CAAC4B,KAAD,CAArC;AACH,GAFD;AAGA,SAAO8E,MAAM,CAACzB,MAAP,CAAc,CAAd,CAAP;AACH,C;;;;;;;;;;;;;;;;;;ACptBD,IAAI8H,eAAe,GAAI,YAAY;AAC/B,MAAMC,GAAG,GAAG,2BAAZ;;AACA,MAAIC,IAAI,GAAG7D,mBAAO,CAAC,yCAAD,CAAlB;AAAA,MACI8D,KAAK,GAAGzF,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,OAAvB,CAAX,CADZ;AAAA,MAEIC,SAAS,GAAG5F,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,SAAvB,CAAX,CAFhB,CAF+B,CAM/B;;;AACA,MAAIE,WAAW;AAAA;AAAA;AAAA,4BAAG,iBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf,CAP+B,CAyB/B;;;AACA,MAAIS,cAAc,GAAG,SAAjBA,cAAiB,CAAAhG,QAAQ,EAAI;AAC7B,QAAImB,IAAI,GAAGzB,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;AAEAoM,kBAAc,CAACa,OAAf,CAAuB,OAAvB,EAAgCvG,IAAI,CAACC,SAAL,CAAewB,IAAI,CAAC,CAAD,CAAJ,CAAQ9C,EAAvB,CAAhC,EAH6B,CAK7B;AACA;AACA;AACA;AACA;;AAEA+G,kBAAc,CAACa,OAAf,CAAuB,SAAvB,EAAkCvG,IAAI,CAACC,SAAL,CAAewB,IAAf,CAAlC;;AACA+E,wBAAoB;;AAEpBhB,QAAI,CAACxN,qBAAL,GAd6B,CAe7B;AACH,GAhBD,CA1B+B,CA4C/B;AACA;;;AACA,MAAIwO,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAoB;AAAA,QAAnB5I,MAAmB,uEAAV,KAAU;AAC3C,QAAIiB,GAAG,GAAG,EAAV;AAAA,QACI+G,SAAS,GAAG5F,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,SAAvB,CAAX,CADhB;AAAA,QAEIF,KAAK,GAAGzF,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,OAAvB,CAAX,CAFZ;AAIAC,aAAS,CAACtK,OAAV,CAAkB,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAChC,UAAIwD,MAAJ,EAAY;AACRiB,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI4H,uBAAuB,CAAC,IAAD,EAAOtM,KAAK,CAACwE,EAAb,EAAiBxE,KAAK,CAACuM,IAAvB,CAA9B;AACA7H,WAAG,IAAI,QAAP;AACH,OAJD,MAKK;AACD;AACAA,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI4H,uBAAuB,CAAC,IAAD,EAAOtM,KAAK,CAACwE,EAAb,EAAiBxE,KAAK,CAACuM,IAAvB,CAA9B;AACA7H,WAAG,IAAI,QAAP,CAJC,CAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH;AACJ,KA7BD;AA+BApG,KAAC,CAAC,uBAAD,CAAD,CAA2BS,IAA3B,CAAgC2F,GAAhC;AAEApG,KAAC,CAAC,kBAAD,CAAD,CAAsBkO,EAAtB,CAAyB,OAAzB,EAAkCC,gBAAlC;AAEA,QAAI,CAAChJ,MAAL,EACIiJ,sBAAsB;AAC7B,GA1CD,CA9C+B,CA0F/B;;;AACA,MAAIJ,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACK,UAAD,EAAanI,EAAb,EAAiBmH,OAAjB,EAA6B;AACvD,QAAIjH,GAAG,GAAG,EAAV;;AACA,QAAIiI,UAAJ,EAAgB;AACZjI,SAAG,IAAI,sBAAP;AACAA,SAAG,IAAI,4CAA4CF,EAA5C,GAAiD,WAAxD;AACAE,SAAG,IAAI,uDAAuDF,EAAvD,GAA4D,WAA5D,GAA0EmH,OAA1E,GAAoF,aAA3F;AACAjH,SAAG,IAAI,0CAAP;AACAA,SAAG,IAAI,mGAAmGF,EAAnG,GAAwG,oBAA/G;AACAE,SAAG,IAAI,2EAA2EF,EAA3E,GAAgF,qEAAhF,GAAwJA,EAAxJ,GAA6J,mJAApK;AACAE,SAAG,IAAI,0BAAP;AACH,KARD,MASK;AACDA,SAAG,IAAI,kCAAP;AACAA,SAAG,IAAI,sDAAP;AACAA,SAAG,IAAI,4DAA4DF,EAA5D,GAAiE,WAAjE,GAA+EmH,OAA/E,GAAyF,cAAhG;AACAjH,SAAG,IAAI,iDAAiDF,EAAjD,GAAsD,oBAA7D;AACAE,SAAG,IAAI,kFAAkFF,EAAlF,GAAuF,qEAAvF,GAA+JA,EAA/J,GAAoK,sJAA3K;AACAE,SAAG,IAAI,uBAAP;AACH;;AAED,WAAOA,GAAP;AACH,GArBD,CA3F+B,CAkH/B;;;AACA,MAAI+H,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAArF,CAAC,EAAI;AACxBiE,QAAI,CAACzN,qBAAL;AACA,QAAIgP,QAAQ,GAAIxF,CAAC,CAACyF,aAAF,CAAgBrI,EAAhB,CAAmB1E,KAAnB,CAAyB,GAAzB,EAA8BY,MAA9B,GAAuC,CAAxC,GAA6C0G,CAAC,CAACyF,aAAF,CAAgBrI,EAAhB,CAAmBX,KAAnB,CAAyB,EAAzB,EAA6B/D,KAA7B,CAAmC,GAAnC,EAAwC,CAAxC,CAA7C,GAA0FsH,CAAC,CAACyF,aAAF,CAAgBrI,EAAhB,CAAmB1E,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAAzG;AAAA,QACIgN,MAAM,GAAGxO,CAAC,CAAC,gBAAgBsO,QAAhB,GAA2B,SAA5B,CAAD,CAAwCjL,IAAxC,EADb;AAEArD,KAAC,CAAC,uBAAD,CAAD,CAA2BS,IAA3B,CAAgC,EAAhC;AAEA,QAAI2F,GAAG,GAAG,uBAAV;AACAA,OAAG,IAAI4H,uBAAuB,CAAC,IAAD,EAAOM,QAAP,EAAiBE,MAAjB,CAA9B;AACApI,OAAG,IAAI,QAAP;AACApG,KAAC,CAAC,uBAAD,CAAD,CAA2BS,IAA3B,CAAgC2F,GAAhC;;AAEA,QAAIuH,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8B;AAAE2B,aAAO,EAAEH;AAAX,KAA9B,CAAX,CAAgEI,IAAhE,CAAqE,UAAA7G,QAAQ;AAAA,aAAI8G,qBAAqB,CAAC9G,QAAD,CAAzB;AAAA,KAA7E,EAAkH,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KAArH,CAAd;;AAEA5O,KAAC,CAAC,kBAAD,CAAD,CAAsBkO,EAAtB,CAAyB,OAAzB,EAAkCY,cAAlC;AACA9O,KAAC,CAAC,gBAAgBsO,QAAhB,GAA2B,gBAA5B,CAAD,CAA+CjL,IAA/C,CAAoD,qBAApD;AACArD,KAAC,CAAC,WAAD,CAAD,CAAe+O,OAAf,CAAuB;AACnBnI,eAAS,EAAE;AADQ,KAAvB,EAEG,GAFH;AAGH,GAlBD,CAnH+B,CAuI/B;;;AACA,MAAIkI,cAAc,GAAG,SAAjBA,cAAiB,CAAAhG,CAAC,EAAI;AACtB9I,KAAC,CAAC,WAAD,CAAD,CAAe+O,OAAf,CAAuB;AACnBnI,eAAS,EAAE;AADQ,KAAvB,EAEG,GAFH;AAGA5G,KAAC,CAAC,uBAAD,CAAD,CAA2BS,IAA3B,CAAgC,EAAhC;;AACAsN,wBAAoB;AACvB,GAND,CAxI+B,CAgJ/B;;;AACA,MAAIK,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AAC/B,QAAMY,UAAU,GAAG,CAAnB;AAAA,QAAsBC,KAAK,GAAG,CAA9B;AACA,QAAI9B,SAAS,GAAG5F,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,SAAvB,CAAX,CAAhB;AAEAC,aAAS,CAACtK,OAAV,CAAkB,UAACnB,KAAD,EAAW;AACzB,UAAIkH,OAAO,GAAGnF,MAAM,CAACyL,MAAP,CAAc,IAAd,CAAd;AACA,UAAIxN,KAAK,CAACwE,EAAN,IAAY8G,KAAhB,EACIpE,OAAO,CAACuG,IAAR,GAAeH,UAAf,CADJ,CAC+B;AAD/B,WAGIpG,OAAO,CAACuG,IAAR,GAAeF,KAAf,CALqB,CAKC;;AAE1BrG,aAAO,CAAC6F,OAAR,GAAkB/M,KAAK,CAACwE,EAAxB;;AACA,UAAIyH,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8BlE,OAA9B,CAAX,CAAkD8F,IAAlD,CAAuD,UAAA7G,QAAQ;AAAA,eAAI8G,qBAAqB,CAAC9G,QAAD,CAAzB;AAAA,OAA/D,EAAoG,UAAA+G,GAAG;AAAA,eAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,OAAvG,CAAd;AACH,KATD;AAUH,GAdD;;AAgBA,MAAID,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAA9G,QAAQ,EAAI;AACpC,QAAImB,IAAI,GAAGzB,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;AAAA,QACIuO,IAAI,GAAG,IADX;AAAA,QAEIC,WAAW,GAAG,IAFlB;;AAIA,QAAIC,KAAK,CAACC,OAAN,CAAcvG,IAAd,CAAJ,EAAyB;AACrBA,UAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAW;AACpB0N,YAAI,GAAG1N,KAAK,CAAC0N,IAAb;AACAC,mBAAW,GAAG3N,KAAK,CAAC2N,WAApB;AACH,OAHD;AAIH,KALD,MAMK;AACDD,UAAI,GAAGpG,IAAI,CAACoG,IAAZ;AACAC,iBAAW,GAAGrG,IAAI,CAACqG,WAAnB;AACH;;AACDG,6BAAyB,CAACxC,KAAD,EAAQoC,IAAR,EAAcC,WAAd,CAAzB;;AAEAtC,QAAI,CAACxN,qBAAL;AACH,GAlBD;;AAoBA,MAAIiQ,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACxC,KAAD,EAAQoC,IAAR,EAAcC,WAAd,EAA8B;AAC1D,QAAIjJ,GAAG,GAAG,EAAV;AAAA,QACI;AACAqJ,WAAO,GAAGJ,WAAW,CAAC7N,KAAZ,CAAkB,GAAlB,EAAuBY,MAFrC;AAAA,QAGIsN,KAAK,GAAGL,WAAW,CAAC7N,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAHZ;AAAA,QAIImO,WAAW,GAAGN,WAAW,CAAC7N,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAJlB;;AAMA,QAAIiO,OAAO,GAAG,CAAV,IAAeE,WAAW,IAAI,CAAlC,EAAqC;AACjC;AACA,UAAIP,IAAI,IAAI1M,SAAZ,EACI0M,IAAI,CAACvM,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAC3ByE,WAAG,IAAI,yDAAyD1E,KAAK,CAACwE,EAA/D,GAAoE,8JAApE,GAAqOxE,KAAK,CAACuM,IAA3O,GAAkP,UAAzP;AACH,OAFD,EADJ,KAKIjO,CAAC,CAAC,gBAAgB0P,KAAhB,GAAwB,SAAzB,CAAD,CAAqCzO,IAArC;AACP,KARD,MAUI,IAAIwO,OAAO,GAAG,CAAd,EAAiB;AACb;AACA,UAAIzC,KAAK,IAAI0C,KAAb,EAAoB;AAChBN,YAAI,CAACvM,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeyN,IAAf,EAAwB;AAC7BhJ,aAAG,IAAI,yDAAyD1E,KAAK,CAACwE,EAA/D,GAAoE,8JAApE,GAAqOxE,KAAK,CAACuM,IAA3O,GAAkP,UAAzP;AACP,SAFD;AAGA7H,WAAG,IAAI,QAAP;AACH,OALD,MAMK;AACDA,WAAG,IAAI,uFAAP;AACAgJ,YAAI,CAACvM,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeyN,IAAf,EAAwB;AACjChJ,aAAG,IAAI,yDAAyD1E,KAAK,CAACwE,EAA/D,GAAoE,8JAApE,GAAqOxE,KAAK,CAACuM,IAA3O,GAAkP,UAAzP;AACH,SAFD;AAGA7H,WAAG,IAAI,QAAP;AACH;AAGJ,KAjBD,MAkBK;AACD;AACA,UAAIgJ,IAAI,IAAI1M,SAAZ,EAAuB;AACnB0D,WAAG,IAAI,yEAAP;AACAgJ,YAAI,CAACvM,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAC3ByE,aAAG,IAAI,yDAAyD1E,KAAK,CAACwE,EAA/D,GAAoE,8JAApE,GAAqOxE,KAAK,CAACuM,IAA3O,GAAkP,UAAzP;AACAjO,WAAC,CAAC,gBAAgB0P,KAAhB,GAAwB,SAAzB,CAAD,CAAqC1O,IAArC;AACH,SAHD;AAIAoF,WAAG,IAAI,QAAP;AACH;AAEJ;;AAELpG,KAAC,CAAC,gBAAgB0P,KAAhB,GAAwB,YAAzB,CAAD,CAAwCjP,IAAxC,CAA6C2F,GAA7C;AACH,GAjDD,CArL+B,CAwO/B;;;AACA,MAAIwJ,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAC5B,QAAMC,YAAY,GAAG,6BAArB;AAEA,QAAIC,SAAS,GAAG9P,CAAC,OAAK6P,YAAL,CAAD,CAAsBE,cAAtB,EAAhB;AAAA,QACIC,SAAS,GAAG,EADhB;AAAA,QAEIC,SAAS,GAAG,EAFhB;AAIAH,aAAS,CAACjN,OAAV,CAAkB,UAACC,IAAD,EAAU;AACxB,UAAI,CAACmN,SAAS,CAACC,QAAV,CAAmBpN,IAAI,CAACE,IAAxB,CAAD,IAAkCF,IAAI,CAACpB,KAAL,IAAc,EAApD,EACIuO,SAAS,CAAClN,IAAV,CAAeD,IAAI,CAACE,IAApB;AACP,KAHD;AAKAiN,aAAS,CAACpN,OAAV,CAAkB,UAACC,IAAD,EAAU;AACxB,UAAIqN,CAAC,GAAGL,SAAS,CAACM,MAAV,CAAiB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrN,IAAF,KAAWF,IAAf;AAAA,OAAlB,CAAR;;AAEA,UAAIqN,CAAC,CAAC/N,MAAF,GAAW,CAAf,EAAkB;AACd,YAAIkO,MAAM,GAAGH,CAAC,CAACI,GAAF,CAAM,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAC9O,KAAN;AAAA,SAAP,CAAb;AACAsO,iBAAS,CAAClN,IAAD,CAAT,GAAkBwN,MAAlB;AACH,OAHD,MAIK;AACD,YAAIrN,GAAG,GAAGkN,CAAC,CAAC,CAAD,CAAD,CAAKzO,KAAf;AACAsO,iBAAS,CAAClN,IAAD,CAAT,GAAkBG,GAAlB;AACH;AACJ,KAXD;AAaA,WAAO+M,SAAP;AACH,GA1BD;;AA4BA,MAAIS,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AACxB,QAAItD,SAAS,GAAG5F,IAAI,CAACO,KAAL,CAAWmF,cAAc,CAACC,OAAf,CAAuB,SAAvB,CAAX,CAAhB;AAAA,QACI1M,IAAI,GAAGoP,mBAAmB,EAD9B;;AAGA7C,QAAI,CAACzN,qBAAL;AAEAU,KAAC,CAAC,uBAAD,CAAD,CAA2BS,IAA3B,CAAgC,EAAhC;;AACAsN,wBAAoB,CAAC,IAAD,CAApB;;AAEAZ,aAAS,CAACtK,OAAV,CAAkB,UAACnB,KAAD,EAAW;AACzB;AACA1B,OAAC,CAAC,gBAAgB0B,KAAK,CAACwE,EAAtB,GAA2B,gBAA5B,CAAD,CAA+C7C,IAA/C,CAAoD,qBAApD,EAFyB,CAGzB;AACH,KAJD;AAKArD,KAAC,CAAC,kBAAD,CAAD,CAAsBkO,EAAtB,CAAyB,OAAzB,EAAkCY,cAAlC;;AAEA,QAAItO,IAAI,CAACiO,OAAT,EAAkB;AACdtB,eAAS,CAACtK,OAAV,CAAkB,UAACnB,KAAD,EAAW;AACzB1B,SAAC,CAAC,gBAAgB0B,KAAK,CAACwE,EAAtB,GAA2B,SAA5B,CAAD,CAAwCjF,IAAxC;AACH,OAFD;;AAGA,UAAI0M,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8BtM,IAA9B,CAAX,CAA+CkO,IAA/C,CAAoD,UAAA7G,QAAQ;AAAA,eAAI8G,qBAAqB,CAAC9G,QAAD,CAAzB;AAAA,OAA5D,EAAiG,UAAA+G,GAAG;AAAA,eAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,OAApG,CAAd;AACH,KALD,MAMK;AACDzB,eAAS,CAACtK,OAAV,CAAkB,UAACnB,KAAD,EAAQC,KAAR,EAAewL,SAAf,EAA6B;AAC3C,YAAIvE,OAAO,GAAG;AACV6F,iBAAO,EAAE/M,KAAK,CAACwE,EADL;AAEViJ,cAAI,EAAE,CAFI;AAGVuB,oBAAU,EAAElQ,IAAI,CAACkQ,UAHP;AAIVC,mBAAS,EAAEnQ,IAAI,CAACmQ;AAJN,SAAd;;AAMA,YAAIhD,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8BlE,OAA9B,CAAX,CAAkD8F,IAAlD,CAAuD,UAAA7G,QAAQ;AAAA,iBAAI8G,qBAAqB,CAAC9G,QAAD,CAAzB;AAAA,SAA/D,EAAoG,UAAA+G,GAAG;AAAA,iBAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,SAAvG,CAAd;AACH,OARD;AASH;AACJ,GAjCD;;AAmCA,MAAIgC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AACvB3Q,YAAQ,CAACiE,QAAT,CAAkB2M,IAAlB,GAAyB,mBAAzB;AACH,GAFD,CAxS+B,CA6S/B;;;AACA,MAAIC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAC9H,IAAD,EAAO9C,EAAP,EAAc;AACtC,QAAI2B,QAAQ,GAAGN,IAAI,CAACO,KAAL,CAAWkB,IAAI,CAACnI,CAAhB,CAAf;AAEA,QAAIb,CAAC,CAAC+Q,aAAF,CAAgBlJ,QAAhB,KAA6BA,QAAQ,CAACzF,MAAT,IAAmB,CAApD,EACI,OAAO,KAAP;AAEJ,QAAI4O,SAAS,GAAGnJ,QAAhB;AAEAmJ,aAAS,CAACnO,OAAV,CAAkB,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAChC,UAAIyE,GAAG,GAAG,oLAAoL1E,KAAK,CAACuM,IAA1L,GAAiM,UAA3M;AACAjO,OAAC,CAAC,gBAAgBkG,EAAhB,GAAqB,YAAtB,CAAD,CAAqC+K,MAArC,CAA4C7K,GAA5C;AACH,KAHD;AAIH,GAZD;;AAeA,MAAI8K,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAlI,IAAI,EAAI;AAC/B,QAAInB,QAAQ,GAAGN,IAAI,CAACO,KAAL,CAAWkB,IAAI,CAACnI,CAAhB,CAAf;AAEA,QAAIb,CAAC,CAAC+Q,aAAF,CAAgBlJ,QAAhB,KAA6BA,QAAQ,CAACsJ,QAAtC,IAAkDtJ,QAAQ,CAACuJ,MAAT,CAAgBhP,MAAhB,IAA0B,CAAhF,EACI,OAAO,KAAP;AAEJ,QAAIiP,WAAW,GAAGxJ,QAAQ,CAACuJ,MAA3B;AACAC,eAAW,CAACxO,OAAZ,CAAoB,UAAAnB,KAAK,EAAI;AACzB,UAAIwE,EAAE,GAAGxE,KAAK,CAAC4P,EAAf;AAAA,UACIjE,OAAO,GAAG3L,KAAK,CAAC6P,OADpB;AAAA,UAEIC,IAAI,GAAG9P,KAAK,CAAC+P,GAFjB;AAAA,UAGIrL,GAAG,GAAG,EAHV;AAIAA,SAAG,IAAI,uBAAP;AACAA,SAAG,IAAI,sBAAP;AACAA,SAAG,IAAI,2CAA2CF,EAA3C,GAAgD,WAAvD;AACAE,SAAG,IAAI,uDAAuDF,EAAvD,GAA4D,WAA5D,GAA0EmH,OAA1E,GAAoF,aAA3F;AACAjH,SAAG,IAAI,0CAAP;AACAA,SAAG,IAAI,uHAAuHF,EAAvH,GAA4H,oBAAnI,CAVyB,CAWzB;;AACAE,SAAG,IAAI,0BAAP;AACAA,SAAG,IAAI,QAAP;AACApG,OAAC,CAAC,yBAAD,CAAD,CAA6BiR,MAA7B,CAAoC7K,GAApC;;AAEA,UAAIuH,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8B;AAAE4E,WAAG,EAAEF;AAAP,OAA9B,CAAX,CACT9C,IADS,CACJ,UAAA7G,QAAQ;AAAA,eAAIiJ,qBAAqB,CAACjJ,QAAD,EAAW3B,EAAX,CAAzB;AAAA,OADJ,EAC6C,UAAA0I,GAAG;AAAA,eAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,OADhD,CAAd;AAEH,KAlBD;AAmBA7B,QAAI,CAACxN,qBAAL;AAEH,GA5BD,CA7T+B,CA0V/B;AAGA;;;AACA,MAAIoS,IAAI,GAAG,SAAPA,IAAO,GAAM;AACb5E,QAAI,CAACzN,qBAAL;AACAyN,QAAI,CAACvN,2BAAL,GAFa,CAEsB;;AAEnC,QAAI2N,SAAS,IAAI,IAAjB,EACIC,WAAW,CAACN,GAAD,EAAM,eAAN,EAAuB,EAAvB,CAAX,CAAsC4B,IAAtC,CAA2C,UAAA7G,QAAQ;AAAA,aAAIgG,cAAc,CAAChG,QAAD,CAAlB;AAAA,KAAnD,EAAiF,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KAApF,EADJ,KAGIb,oBAAoB;;AAExB,QAAMJ,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,6BAAN,EAAqC,EAArC,CAAX,CACX4B,IADW,CACN,UAAA7G,QAAQ;AAAA,aAAIqJ,oBAAoB,CAACrJ,QAAD,CAAxB;AAAA,KADF,EACsC,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KADzC,CAAhB;AAEH,GAXD;;AAaA,SAAO;AACH;AACA+C,QAAI,EAAEA,IAFH;AAGHC,kBAAc,EAAEnB,eAHb;AAIHoB,iBAAa,EAAEjB;AAJZ,GAAP;AAMH,CAjXsB,EAAvB;;AAmXC,UAASkB,IAAT,GAAgB;AACb9R,GAAC,CAAC,MAAD,CAAD,CAAU+R,MAAV,CAAiB,IAAjB;AAEA/R,GAAC,CAAC,cAAD,CAAD,CAAkBkO,EAAlB,CAAqB,OAArB,EAA8BrB,eAAe,CAAC+E,cAA9C;AACA5R,GAAC,CAAC,aAAD,CAAD,CAAiBkO,EAAjB,CAAoB,OAApB,EAA6BrB,eAAe,CAACgF,aAA7C;AAEAhF,iBAAe,CAAC8E,IAAhB;AACH,CAPA,GAAD,C;;;;;;;;;;;;;;;;;QCjXgBK,Y,GAAAA,Y;;;;;;AAHhB;AACA;AACA;AACO,SAASA,YAAT,CAAsB9L,EAAtB,EAA0BsI,MAA1B,EAAkC;AACrC,MAAIyD,QAAQ,GAAGjS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBG,IAAtB,CAA2B,OAA3B,CAAf;AAAA,MACIyP,QAAQ,GAAGlS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBG,IAAtB,CAA2B,OAA3B,EAAoCZ,OAApC,CAA4C,CAAC2M,MAAD,GAAU,WAAV,GAAwB,YAApE,CADf;AAAA,MAEI2D,IAAI,GAAGF,QAAQ,CAAC1M,KAAT,CAAe2M,QAAf,EAAyBD,QAAQ,CAAC7P,MAAlC,CAFX;AAAA,MAGIgQ,MAAM,GAAGD,IAAI,CAACtQ,OAAL,CAAa,GAAb,CAHb;AAAA,MAIIwQ,SAAS,GAAGF,IAAI,CAAC5M,KAAL,CAAW,CAAX,EAAe6M,MAAM,IAAI,CAAC,CAAX,GAAeD,IAAI,CAAC/P,MAApB,GAA6BgQ,MAA5C,CAJhB;;AAMA,MAAI,CAAC5D,MAAL,EAAa;AACT,QAAI6D,SAAS,KAAK,eAAlB,EACIrS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,eAAlC,EAAmDC,QAAnD,CAA4D,cAA5D,EADJ,KAGIvS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,cAAlC,EAAkDC,QAAlD,CAA2D,eAA3D;AACJC,SAAK,CAACC,eAAN;AACH,GAND,MAOK;AACD,QAAIJ,SAAS,KAAK,eAAlB,EACIrS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,eAAlC,EAAmDC,QAAnD,CAA4D,iBAA5D,EADJ,KAGIvS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,iBAAlC,EAAqDC,QAArD,CAA8D,eAA9D;AACJvS,KAAC,CAAC,gBAAD,CAAD,CAAoB0S,MAApB,CAA2B,GAA3B;AACH;AACJ;;AAGD,IAAIC,GAAG,GAAI,YAAY;AACnB,MAAM7F,GAAG,GAAG,2BAAZ;AAAA,MACI8F,IAAI,GAAG1J,mBAAO,CAAC,yCAAD,CADlB;;AAEA,MAAI2J,KAAJ;AAAA,MAAWC,aAAX;AAAA,MACIC,YAAY,GAAG,EADnB;AAAA,MAEIC,gBAAgB,GAAG,EAFvB;AAIA;;;;;;;AAMA,MAAI5F,WAAW;AAAA;AAAA;AAAA,4BAAG,iBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf;AAkBA;;;;;;AAIA,MAAI6F,eAAe;AAAA;AAAA;AAAA,4BAAG,kBAAOC,OAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACdpR,iBADc,GACR8Q,IAAI,CAAC5T,SAAL,EADQ;AAEZqB,iBAFY,mDAEwCyB,GAFxC,6BAEmEoR,OAFnE;AAAA;AAAA,qBAIExF,KAAK,CAACrN,GAAD,CAJP;;AAAA;AAIdsN,qBAJc;AAAA;AAAA,qBAKOA,OAAO,CAACC,IAAR,EALP;;AAAA;AAKduF,0BALc;AAAA;AAQdtE,qBAAO,CAACuE,KAAR,CAAcD,YAAY,CAACtL,QAAb,CAAsBwL,mBAAtB,CAA0CC,aAA1C,CAAwD,CAAxD,EAA2DC,SAA3D,CAAqEC,KAArE,CAA2EC,GAA3E,CAA+EjS,KAA/E,CAAqF,GAArF,CAAd;AARc,gDASP2R,YAAY,CAACtL,QAAb,CAAsBwL,mBAAtB,CAA0CC,aAA1C,CAAwD,CAAxD,EAA2DC,SAA3D,CAAqEC,KAArE,CAA2EC,GAA3E,CAA+EjS,KAA/E,CAAqF,GAArF,CATO;;AAAA;AAAA;AAAA;AAAA,gDAYP,KAZO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAfyR,eAAe;AAAA;AAAA;AAAA,KAAnB;AAgBA;;;;;;AAIA,MAAIS,SAAS,GAAG,SAAZA,SAAY,CAAAC,KAAK,EAAI;AACrB,QAAI,CAACA,KAAL,EACIA,KAAK,GAAG,CAAR;AACJ,QAAIzN,EAAE,GAAG0N,QAAQ,CAACD,KAAD,CAAjB;AACA,QAAIE,QAAQ,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,EACX,SADW,EACA,SADA,EACW,SADX,EACsB,SADtB,EAEX,SAFW,EAEA,SAFA,EAEW,SAFX,EAEsB,SAFtB,EAEiC,SAFjC,EAGX,SAHW,EAGA,SAHA,EAGW,SAHX,EAGsB,SAHtB,EAGiC,SAHjC,EAIX,SAJW,EAIA,SAJA,EAIW,SAJX,EAIsB,SAJtB,EAIiC,SAJjC,EAKX,SALW,EAKA,SALA,EAKW,SALX,EAKsB,SALtB,EAKiC,SALjC,EAMX,SANW,EAMA,SANA,EAMW,SANX,EAMsB,SANtB,EAMiC,SANjC,CAAf;AASA,QAAIC,KAAK,GAAGD,QAAQ,CAAC,CAAD,CAApB;;AAEA,QAAI3N,EAAE,IAAI2N,QAAQ,CAACzR,MAAnB,EAA2B;AACvB,UAAI2R,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWJ,QAAQ,CAACzR,MAAT,GAAkB8D,EAA7B,CAAd;AACA4N,WAAK,GAAGD,QAAQ,CAACE,OAAD,CAAhB;AACH,KAHD,MAKID,KAAK,GAAGD,QAAQ,CAAC3N,EAAD,CAAhB;;AACJ,WAAO4N,KAAP;AACH,GAtBD;AAwBA;;;;;;AAIA,MAAII,SAAS,GAAG,SAAZA,SAAY,CAAAxS,KAAK,EAAI;AACrB,2JAE+CA,KAAK,CAACyS,KAAN,GAAczS,KAAK,CAACyS,KAApB,GAA4B,YAF3E,wEAG+CzS,KAAK,CAAC0S,OAAN,GAAgB1S,KAAK,CAAC0S,OAAtB,GAAgC,YAH/E,mJAIsH1S,KAAK,CAAC2S,QAJ5H,mJAKuH3S,KAAK,CAAC4S,IAAN,GAAa5S,KAAK,CAAC4S,IAAnB,GAA0B,YALjJ,6HAMmG5S,KAAK,CAACwE,EANzG;AASH,GAVD;AAYA;;;;;;;;AAMA,MAAIqO,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACnL,GAAD,EAAMoL,QAAN,EAAgBC,GAAhB,EAAwB;AAChD,QAAI,CAACD,QAAL,EAAe;AACX5B,UAAI,CAACrT,qBAAL;AACAsP,aAAO,CAAC1N,KAAR,oJAA4CiI,GAAG,CAAC+K,KAAhD;AACA,aAAO,KAAP;AACH;;AAED,QAAIO,IAAI,GAAG;AACPhU,UAAI,EAAE,OADC;AAEPiU,iBAAW,EAAE,CAACH,QAAQ,CAAC,CAAD,CAAT,EAAcA,QAAQ,CAAC,CAAD,CAAtB;AAFN,KAAX;AAAA,QAIII,KAAK,GAAG;AACJ1O,QAAE,EAAEkD,GAAG,CAAClD,EADJ;AAEJ2O,oBAAc,EAAEX,SAAS,CAAC9K,GAAD,CAFrB;AAGJ;AACA0L,iBAAW,EAAE1L,GAAG,CAAC+K,KAAJ,GAAY/K,GAAG,CAAC+K,KAAhB,GAAwB,YAJjC;AAKJY,iBAAW,EAAE3L,GAAG,CAACgL,OAAJ,GAAchL,GAAG,CAACgL,OAAlB,GAA4BhL,GAAG,CAAC+K;AALzC,KAJZ;AAAA,QAWIa,GAAG,GAAG;AACFC,YAAM,EAAE,sBADN;AAEFC,eAAS,EAAExB,SAAS,CAACtK,GAAG,CAAC+L,KAAL,CAFlB;AAGFC,2BAAqB,EAAE;AAHrB,KAXV;AAAA,QAgBIjS,GAAG,GAAG;AACFzC,UAAI,EAAE,SADJ;AAEFwF,QAAE,EAAEkD,GAAG,CAAClD,EAFN;AAGFmP,SAAG,EAAEjM,GAAG,CAAC+L,KAAJ,GAAY/L,GAAG,CAAC+L,KAAhB,GAAwB,GAH3B;AAIFG,cAAQ,EAAEZ,IAJR;AAKFa,gBAAU,EAAEX,KALV;AAMF/I,aAAO,EAAEmJ;AANP,KAhBV,CAPgD,CAiChD;AACA;AACA;;AAEA,WAAO7R,GAAP;AACH,GAtCD;AAwCA;;;;;;AAIA,MAAIqS,eAAe,GAAG,SAAlBA,eAAkB,CAAA3N,QAAQ,EAAI;AAE9B,QAAI2I,CAAC,GAAGjJ,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAR;AACA,QAAI4U,SAAS,GAAG,EAAhB;;AAEA,QAAI,CAACjF,CAAL,EAAQ;AACJoC,UAAI,CAACrT,qBAAL;AACA;AACH;;AAAA;AACDiR,KAAC,CAAC3N,OAAF;AAAA;AAAA;AAAA,8BAAU,kBAAOC,IAAP,EAAanB,KAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AACF+T,mBADE,GACIC,UAAU,CAAC7S,IAAI,CAAC8S,QAAN,CADd;AAEFC,oBAFE,GAEKF,UAAU,CAAC7S,IAAI,CAACgT,SAAN,CAFf;;AAAA,sBAGF,CAACJ,GAAD,IAAQ,CAACG,IAAT,IAAiBH,GAAG,IAAI,EAAxB,IAA8BG,IAAI,IAAI,GAHpC;AAAA;AAAA;AAAA;;AAIF;AACIE,sBALF,GAKWjT,IAAI,CAACuR,QALhB;;AAAA,sBAOE0B,MAAM,KAAK,+BAAX,IAA8CA,MAAM,IAAI,EAP1D;AAAA;AAAA;AAAA;;AAQElH,uBAAO,CAAC1N,KAAR,iFAAgC2B,IAAI,CAACqR,KAArC,cAAmDrR,IAAI,CAACoD,EAAxD,6GAAkF6P,MAAlF;AARF,kDASS,KATT;;AAAA;AAWIpI,uBAXJ,GAWcsF,eAAe,CAAC8C,MAAD,CAAf,CACXrH,IADW,CACN,UAAA8F,QAAQ,EAAI;AACdiB,2BAAS,GAAGjB,QAAZ;;AACA,sBAAMwB,IAAI,GAAG5I,WAAW,CAAC,2BAAD,EAA8B,sBAA9B,EAAsD;AAC1E6I,yBAAK,EAAEnT,IAAI,CAACoD,EAD8D;AAE1E0P,4BAAQ,EAAEpB,QAAQ,CAAC,CAAD,CAFwD;AAG1EsB,6BAAS,EAAEtB,QAAQ,CAAC,CAAD;AAHuD,mBAAtD,CAAxB;;AAKA1R,sBAAI,CAAC8S,QAAL,GAAgBpB,QAAQ,CAAC,CAAD,CAAxB;AACA1R,sBAAI,CAACgT,SAAL,GAAiBtB,QAAQ,CAAC,CAAD,CAAzB;;AACA,sBAAI,CAAC1R,IAAI,CAAC8S,QAAN,IAAkB,CAAC9S,IAAI,CAACgT,SAA5B,EAAuC;AACnCjH,2BAAO,CAAC1N,KAAR,CAAc,wCAAwC4U,MAAtD;AACA,2BAAO,KAAP;AACH;;AACD,yBAAOjD,aAAa,CAACoD,GAAd,CAAkB3B,qBAAqB,CAACzR,IAAD,EAAO0R,QAAP,EAAiB7S,KAAjB,CAAvC,CAAP;AACH,iBAfW,CAeX;AAfW,iBAXd;AAAA;AAAA,uBA4BIgM,OA5BJ;;AAAA;AAAA;AAAA;;AAAA;AA+BEwC,iBA/BF,GA+BM,IA/BN;AAgCIgG,8BAhCJ,GAgCqB,IAAIvK,MAAJ,CAAW,kFAAX,CAhCrB,EAiCEwK,aAjCF,GAiCkB,IAAIxK,MAAJ,CAAW,kFAAX,CAjClB,EAiCkH;;AACpH,oBAAI;AAEIyK,kCAFJ,GAEuBF,cAAc,CAACG,IAAf,CAAoBxT,IAAI,CAACgT,SAAzB,CAFvB,EAGIS,eAHJ,GAGsBH,aAAa,CAACE,IAAd,CAAmBxT,IAAI,CAAC8S,QAAxB,CAHtB;AAKA,sBAAIS,gBAAgB,IAAIE,eAAxB,EACIpG,CAAC,GAAGoE,qBAAqB,CAACzR,IAAD,EAAO,CAACA,IAAI,CAACgT,SAAN,EAAiBhT,IAAI,CAAC8S,QAAtB,CAAP,EAAwCjU,KAAxC,CAAzB,CADJ,KAGIkN,OAAO,CAACuE,KAAR,CAAc,CAACtQ,IAAI,CAACuR,QAAN,EAAgBvR,IAAI,CAACgT,SAArB,EAAgChT,IAAI,CAAC8S,QAArC,CAAd;AACP,iBATD,CAUA,OAAO9M,CAAP,EAAU;AACN+F,yBAAO,CAACD,GAAR,CAAY9F,CAAZ;AACH;;AAEDqH,iBAAC,IAAI2C,aAAa,CAACoD,GAAd,CAAkB/F,CAAlB,CAAL;AACAsF,yBAAS,GAAG,CAAC3S,IAAI,CAACgT,SAAN,EAAiBhT,IAAI,CAAC8S,QAAtB,CAAZ;;AAjDE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAV;;AAAA;AAAA;AAAA;AAAA,SAT8B,CA8D9B;;AACA,QAAIpF,CAAC,CAACpO,MAAF,KAAa,CAAjB,EAAoB;AAChByQ,WAAK,CAAC2D,SAAN,CAAgB,CAAChG,CAAC,CAAC,CAAD,CAAD,CAAKoF,QAAN,EAAgBpF,CAAC,CAAC,CAAD,CAAD,CAAKsF,SAArB,CAAhB,EAAiD,CAAjD,EAAoD;AAChDW,sBAAc,EAAE;AADgC,OAApD;AAGH,KAJD,MAIO;AACH,UAAIC,WAAW,GAAG9D,IAAI,CAAC/T,QAAL,EAAlB;AACA,UAAI6X,WAAW,CAAC,CAAD,CAAX,IAAkBA,WAAW,CAAC,CAAD,CAAjC,EACIjB,SAAS,GAAGiB,WAAZ,CADJ,KAEK;AACD,YAAIC,MAAM,GAAG,CAAb;AAAA,YAAgBC,OAAO,GAAG,CAA1B;AAAA,YAA6BC,KAAK,GAAGrG,CAAC,CAACJ,MAAF,CAAS,UAAA0G,CAAC;AAAA,iBAAIA,CAAC,CAAClB,QAAF,IAAckB,CAAC,CAAChB,SAAhB,IAA6BgB,CAAC,CAAClB,QAAF,GAAa,EAA1C,IAAgDkB,CAAC,CAAChB,SAAF,GAAc,GAAlE;AAAA,SAAV,EAAiF1T,MAAtH;AACAoO,SAAC,CAAC3N,OAAF,CAAU,UAAAiU,CAAC,EAAI;AAAE,cAAIA,CAAC,CAAClB,QAAN,EAAgBe,MAAM,IAAIhB,UAAU,CAACmB,CAAC,CAAClB,QAAH,CAApB;AAAkC,cAAIkB,CAAC,CAAChB,SAAN,EAAiBc,OAAO,IAAIjB,UAAU,CAACmB,CAAC,CAAChB,SAAH,CAArB;AAAqC,SAAzH;AACAL,iBAAS,GAAG,CAACkB,MAAM,GAAGE,KAAV,EAAiBD,OAAO,GAAGC,KAA3B,CAAZ;AACH;AAEDhE,WAAK,CAAC2D,SAAN,CAAgB,CAACf,SAAS,CAAC,CAAD,CAAV,EAAeA,SAAS,CAAC,CAAD,CAAxB,CAAhB,EAA8C,CAA9C,EAAiD;AAC7CgB,sBAAc,EAAE;AAD6B,OAAjD;AAGH;;AAGD7D,QAAI,CAACrT,qBAAL;AACH,GApFD;AAsFA;;;;;;;AAKA,MAAIwX,MAAM,GAAG,SAATA,MAAS,CAACC,QAAD,EAAWC,SAAX,EAAyB;AAClC,SAAK,IAAI9U,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6U,QAAQ,CAAC5U,MAA7B,EAAqC,EAAED,CAAvC,EAA0C;AACtC,UAAIW,IAAI,GAAGkU,QAAQ,CAAC7U,CAAD,CAAnB;AACA,UAAIW,IAAI,CAAC2C,CAAL,IAAUwR,SAAS,CAACxR,CAAxB,EACI,OAAO,KAAP;AACP;;AACD,WAAO,IAAP;AACH,GAPD;AASA;;;;;;AAIA,MAAIyR,kBAAkB,GAAG,SAArBA,kBAAqB,CAAArP,QAAQ,EAAI;AACjC,QAAImB,IAAI,GAAGzB,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;;AAEA,QAAI,CAACmI,IAAL,EAAW;AACP4J,UAAI,CAACrT,qBAAL;AACA,aAAO,KAAP;AACH;;AAGD,QAAI6D,GAAG,GAAG,EAAV;AACA4F,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAW;AAEpB,UAAIyV,GAAG,GAAG/T,GAAG,CAACgN,MAAJ,CAAW,UAAAtN,IAAI;AAAA,eAAIA,IAAI,CAACoD,EAAL,KAAYxE,KAAK,CAACwE,EAAtB;AAAA,OAAf,CAAV;AACA,UAAIiR,GAAG,CAAC/U,MAAJ,IAAc,CAAlB,EACIgB,GAAG,CAACL,IAAJ,CAASrB,KAAT;AAEP,KAND;AASA1B,KAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B,EAA1B;AACAT,KAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0BuI,IAAI,CAAC5G,MAAL,GAAc,cAAxC;AAEAgB,OAAG,CAACP,OAAJ,CAAY,UAACnB,KAAD,EAAW;AACnB,UAAI0E,GAAG,0CAAqC1E,KAAK,CAACwE,EAA3C,0GACiCxE,KAAK,CAACyS,KADvC,0FAEsDzS,KAAK,CAAC2S,QAF5D,oFAGoC3S,KAAK,CAAC4S,IAH1C,uDAIuB5S,KAAK,CAACwE,EAJ7B,wGAAP;AAMAlG,OAAC,CAAC,iBAAD,CAAD,CAAqBiR,MAArB,CAA4B7K,GAA5B;AACH,KARD;AASAwM,QAAI,CAACrT,qBAAL;AACH,GAhCD;AAkCA;;;;;;AAIA,MAAI6X,cAAc,GAAG,SAAjBA,cAAiB,CAAAlR,EAAE,EAAI;AACvB0M,QAAI,CAACtT,qBAAL;;AACA,QAAIqO,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,iBAAN,EAAyB;AAAE6G,WAAK,EAAEzN;AAAT,KAAzB,CAAX,CAAmDwI,IAAnD,CAAwD,UAAA7G,QAAQ;AAAA,aAAIqP,kBAAkB,CAACrP,QAAD,CAAtB;AAAA,KAAhE,EAAkG,UAAA1G,KAAK;AAAA,aAAI0N,OAAO,CAAC1N,KAAR,CAAc,6DAAd,CAAJ;AAAA,KAAvG,CAAd;;AAEAnB,KAAC,CAAC,qBAAD,CAAD,CAAyBkB,GAAzB,CAA6B,SAA7B,EAAwC,GAAxC;AACAlB,KAAC,CAAC,qBAAD,CAAD,CAAyBgB,IAAzB,CAA8B,GAA9B;;AAGA,SAAK,IAAI8B,IAAT,IAAiBiQ,YAAjB,EAA+B;AAC3BA,kBAAY,CAACjQ,IAAD,CAAZ,GAAqB,KAArB;AACH;;AAEDiQ,gBAAY,CAAC7M,EAAD,CAAZ,GAAmB,IAAnB;AACI4M,iBAAa,CAACuE,SAAd,CACIC,iBAAiB,CAACvE,YAAD,CADrB;AAIP,GAjBD;;AAmBA,WAASuE,iBAAT,CAA2BC,UAA3B,EAAuC;AACnC,WAAO,UAAUpU,GAAV,EAAe;AAClB,UAAIqU,OAAO,GAAGrU,GAAG,CAACkS,GAAlB;AACA,aAAOkC,UAAU,CAACC,OAAD,CAAjB;AACH,KAHD;AAIH;AAED;;;;;;AAIA,MAAIC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAA5P,QAAQ,EAAI;AACpC,QAAI2I,CAAC,GAAGjJ,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAR;AACAb,KAAC,CAAC,sBAAD,CAAD,CAA0BS,IAA1B,CAA+B,EAA/B;AACAT,KAAC,CAAC,sBAAD,CAAD,CAA0BS,IAA1B,CAA+B+P,CAAC,CAACpO,MAAF,GAAW,oBAA1C;;AAEA,QAAI,CAACoO,CAAL,EAAQ;AACJoC,UAAI,CAACrT,qBAAL;AACA,aAAO,KAAP;AACH,KARmC,CAUpC;;;AACAiR,KAAC,CAAC3N,OAAF,CAAU,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AACxB,UAAI+V,MAAM,oDAA+C/V,KAA/C,wKAE2DD,KAAK,CAACyT,KAFjE,YAE2EzT,KAAK,CAAC0S,OAAN,IAAiB,EAAjB,GAAsB,YAAtB,GAAqC1S,KAAK,CAAC0S,OAFtH,+FAGwD1S,KAAK,CAACyT,KAH9D,+GAG4FzT,KAAK,CAACiW,GAHlG,4FAIuDjW,KAAK,CAACyT,KAJ7D,sHAK6BzT,KAAK,CAACyT,KALnC,qHAKsJzB,SAAS,CAAChS,KAAK,CAACyT,KAAP,CAL/J,yHAAV,CADwB,CAWxB;;AACA,UAAIyC,KAAK,GAAG,EAAZ;AACAA,WAAK,CAACnS,CAAN,GAAU/D,KAAK,CAACyT,KAAhB;AACAyC,WAAK,CAAClS,CAAN,GAAUhE,KAAK,CAAC0S,OAAhB;;AAEA,UAAI2C,MAAM,CAAC/D,gBAAD,EAAmB4E,KAAnB,CAAV,EAAqC;AACjC5E,wBAAgB,CAACjQ,IAAjB,CAAsB6U,KAAtB;AACA7E,oBAAY,CAAC6E,KAAK,CAACnS,CAAP,CAAZ,GAAwB,IAAxB;AACH;;AACDzF,OAAC,CAAC,sBAAD,CAAD,CAA0BiR,MAA1B,CAAiCyG,MAAjC;AAEH,KAtBD;AAwBA9E,QAAI,CAACrT,qBAAL;AACH,GApCD;AAsCA;;;;;;AAIA,MAAIsY,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAA/O,CAAC,EAAI;AAChC,QAAIgP,KAAK,GAAGhP,CAAC,CAACiP,MAAF,CAAS7R,EAArB;AAEA,QAAI,CAAC4R,KAAL,EACI,OAAO,KAAP;AAEJ,QAAI5R,EAAE,GAAG0N,QAAQ,CAACkE,KAAK,CAACtW,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAD,CAAjB;AAEA,QAAI0E,EAAJ,EACIkR,cAAc,CAAClR,EAAD,CAAd;AACP,GAVD;AAYA;;;;;;AAIA,MAAI8R,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAlP,CAAC,EAAI;AAC1B,QAAI5C,EAAE,GAAIlG,CAAC,CAAC8I,CAAC,CAACiP,MAAH,CAAD,CAAYE,MAAZ,CAAmB,KAAnB,EAA0BA,MAA1B,CAAiC,KAAjC,EAAwCxV,IAAxC,CAA6C,IAA7C,KAAsDC,SAAtD,GAAkE1C,CAAC,CAAC8I,CAAC,CAACiP,MAAH,CAAD,CAAYE,MAAZ,CAAmB,KAAnB,EAA0BxV,IAA1B,CAA+B,IAA/B,CAAlE,GAAyGzC,CAAC,CAAC8I,CAAC,CAACiP,MAAH,CAAD,CAAYE,MAAZ,CAAmB,KAAnB,EAA0BA,MAA1B,CAAiC,KAAjC,EAAwCxV,IAAxC,CAA6C,IAA7C,CAAnH;AACA,QAAIyV,WAAW,GAAGpF,aAAa,CAACqF,cAAd,CAA6BjS,EAA7B,CAAlB;;AACA,QAAIgS,WAAW,CAACE,WAAhB,EAA6B;AACzBtF,mBAAa,CAACuF,QAAd,CAAuBC,KAAvB,CAA6BC,GAA7B,CAAiC,cAAjC,EAAiDzF,aAAa,CAAC0F,OAAd,CAAsBC,OAAtB,CAA8BvS,EAA9B,CAAjD;AACA4M,mBAAa,CAACuF,QAAd,CAAuBK,OAAvB,CAA+BC,IAA/B,CAAoCT,WAAW,CAACU,OAAZ,CAAoB1S,EAAxD;AACH,KAHD,MAGO;AACH4M,mBAAa,CAAC0F,OAAd,CAAsBE,OAAtB,CAA8BC,IAA9B,CAAmCzS,EAAnC;AACH;AACJ,GATD;;AAWA,MAAI2S,UAAU,GAAG,SAAbA,UAAa,CAAA/P,CAAC,EAAI;AAElB,SAAK,IAAIhG,IAAT,IAAiBiQ,YAAjB,EAA+B;AAC3BA,kBAAY,CAACjQ,IAAD,CAAZ,GAAqB,IAArB;AACH;;AAEDgQ,iBAAa,CAACuE,SAAd,CACIC,iBAAiB,CAACvE,YAAD,CADrB;AAKA/S,KAAC,CAAC,qBAAD,CAAD,CAAyBiB,IAAzB,CAA8B,GAA9B;AACAjB,KAAC,CAAC,WAAD,CAAD,CAAe8Y,MAAf;AACH,GAbD;;AAeA,MAAIC,KAAK,GAAG,SAARA,KAAQ,GAAM;AACd;AACA;AACAlG,SAAK,GAAG,IAAImG,KAAK,CAACrG,GAAV,CAAc,KAAd,EAAqB;AACzB;AACA;AACAsG,YAAM,EAAErG,IAAI,CAAC/T,QAAL,EAHiB;AAIzBqa,UAAI,EAAE;AAJmB,KAArB,EAKL;AACCC,2BAAqB,EAAE;AADxB,KALK,CAAR;AASArG,iBAAa,GAAG,IAAIkG,KAAK,CAACI,aAAV,CAAwB;AACpCC,gBAAU,EAAE,IADwB;AAEpCC,cAAQ,EAAE,EAF0B;AAGpCC,6BAAuB,EAAE,IAHW;AAIpCC,sCAAgC,EAAE,GAJE;AAKpCC,uCAAiC,EAAE,GALC;AAMpCC,iCAA2B,EAAE;AANO,KAAxB,CAAhB;AASA7G,SAAK,CAAC8G,UAAN,CAAiBzD,GAAjB,CAAqBpD,aAArB,EArBc,CAqBuB;;AAErCF,QAAI,CAACtT,qBAAL,GAvBc,CAwBd;;AACA,QAAIsa,SAAS,GAAG1V,QAAQ,CAACiB,MAAT,CAAgB7D,OAAhB,CAAwB,GAAxB,EAA6B,EAA7B,CAAhB;AAAA,QACIgP,MAAM,GAAGsJ,SAAS,CAACpY,KAAV,CAAgB,GAAhB,CADb;AAAA,QAEIoH,OAAO,GAAG,EAFd;;AAIA,QAAI0H,MAAM,CAAClO,MAAP,GAAgB,CAApB,EAAuB;AACnBkO,YAAM,CAACzN,OAAP,CAAe,UAACC,IAAD,EAAU;AACrB,YAAI+W,OAAO,GAAG/W,IAAI,CAACtB,KAAL,CAAW,GAAX,CAAd;AACA,YAAIqY,OAAO,CAAC,CAAD,CAAP,IAAc,EAAlB,EACIjR,OAAO,CAACiR,OAAO,CAAC,CAAD,CAAR,CAAP,GAAsBA,OAAO,CAAC,CAAD,CAA7B;AACP,OAJD;AAKH;;AACD,QAAIlM,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,iBAAN,EAAyBlE,OAAzB,CAAX,CACT8F,IADS,CACJ,UAAA7G,QAAQ;AAAA,aAAI2N,eAAe,CAAC3N,QAAD,CAAnB;AAAA,KADJ,EACmC,UAAA1G,KAAK;AAAA,aAAI0N,OAAO,CAAC1N,KAAR,CAAc,sCAAd,CAAJ;AAAA,KADxC,CAAd,CApCc,CAsCd;AACA;AACA;AACA;;;AAEA,QAAIsC,MAAM,CAACqW,OAAP,CAAelR,OAAf,EAAwBxG,MAAxB,KAAmC,CAAvC,EAA0C;AACtC;AACA,UAAI2X,UAAU,GAAG3M,WAAW,CAACN,GAAD,EAAM,sBAAN,EAA8B,EAA9B,CAAX,CAA6C4B,IAA7C,CAAkD,UAAA7G,QAAQ;AAAA,eAAI4P,qBAAqB,CAAC5P,QAAD,CAAzB;AAAA,OAA1D,EAA+F,UAAA1G,KAAK;AAAA,eAAI0N,OAAO,CAAC1N,KAAR,CAAc,gDAAd,CAAJ;AAAA,OAApG,CAAjB;;AACAnB,OAAC,CAAC,0BAAD,CAAD,CAA8BgB,IAA9B;AACH,KAJD,MAKK;AACDhB,OAAC,CAAC,0BAAD,CAAD,CAA8BiB,IAA9B;AACH;AACJ,GAnDD;;AAqDA,SAAO;AACH0Q,QAAI,EAAEoH,KADH;AAEHiB,2BAAuB,EAAEnC,wBAFtB;AAGHoC,qBAAiB,EAAEjC,kBAHhB;AAIHkC,aAAS,EAAErB;AAJR,GAAP,CAtcmB,CA6cnB;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,CAjfU,EAAX;;AAmfC,UAAS/G,IAAT,GAAgB;AACb9R,GAAC,CAACC,QAAD,CAAD,CAAYka,OAAZ,CAAoB,UAAUrR,CAAV,EAAa,CAEhC,CAFD;AAIA9I,GAAC,CAAC,MAAD,CAAD,CAAU+R,MAAV,CAAiB,IAAjB;AAEA/R,GAAC,CAAC,0BAAD,CAAD,CAA8Boa,SAA9B;AACApa,GAAC,CAAC,qBAAD,CAAD,CAAyBoa,SAAzB;AAEApB,OAAK,CAAC9Y,KAAN,CAAYyS,GAAG,CAAChB,IAAhB,EAVa,CAWb;;AACA3R,GAAC,CAAC,sBAAD,CAAD,CAA0BkO,EAA1B,CAA6B,OAA7B,EAAsCyE,GAAG,CAACqH,uBAA1C,EAZa,CAab;;AACAha,GAAC,CAAC,iBAAD,CAAD,CAAqBkO,EAArB,CAAwB,OAAxB,EAAiCyE,GAAG,CAACsH,iBAArC;AACAja,GAAC,CAAC,YAAD,CAAD,CAAgBkO,EAAhB,CAAmB,OAAnB,EAA4ByE,GAAG,CAACuH,SAAhC;AACH,CAhBA,GAAD,C;;;;;;;;;;;;;;;;;QC9agBG,c,GAAAA,c;QA0GAhR,c,GAAAA,c;QA4CA6B,U,GAAAA,U;QAiBA5B,a,GAAAA,a;QA2MAC,Y,GAAAA,Y;QA0BAC,c,GAAAA,c;QAyBAC,gB,GAAAA,gB;QA8CAC,mB,GAAAA,mB;QAmBAC,iB,GAAAA,iB;QAeAC,W,GAAAA,W;QA6BAK,W,GAAAA,W;QA0CAC,Y,GAAAA,Y;QAuGAC,iB,GAAAA,iB;QAuBAC,c,GAAAA,c;QAoBAC,Y,GAAAA,Y;QA2BAE,W,GAAAA,W;QAgBA+P,S,GAAAA,S;QASA9P,a,GAAAA,a;QAYAC,c,GAAAA,c;QAmBAY,2B,GAAAA,2B;QA8DAL,e,GAAAA,e;QAyEAuP,O,GAAAA,O;QAkBA7P,kB,GAAAA,kB;QAUA8P,Y,GAAAA,Y;QAYAC,e,GAAAA,e;QAcAC,iB,GAAAA,iB;QAYA/P,c,GAAAA,c;QAOAW,0B,GAAAA,0B;QAcAC,W,GAAAA,W;QAeAC,qC,GAAAA,qC;;;;;;AA9mChB,IAAIuB,IAAI,GAAG7D,mBAAO,CAAC,yCAAD,CAAlB;;AAEA,IAAIzH,UAAJ;AAEAzB,CAAC,CAACC,QAAD,CAAD,CAAYC,KAAZ,CAAkB,YAAY;AAC1BuB,YAAU,GAAGsL,IAAI,CAACjO,aAAL,EAAb;AAEAkB,GAAC,CAAC,UAAD,CAAD,CAAcS,IAAd,CAAmBgB,UAAU,IAAI,EAAd,GACb,iBADa,GAEb,mCAFN;;AAIA,MAAIA,UAAU,IAAI,EAAlB,EAAsB;AAAE;AACpBzB,KAAC,CAAC,aAAD,CAAD,CAAiBiB,IAAjB;AACAjB,KAAC,CAAC,gBAAD,CAAD,CAAoBgB,IAApB;AACAhB,KAAC,CAAC,SAAD,CAAD,CAAaiB,IAAb;AACAjB,KAAC,CAAC,UAAD,CAAD,CAAciB,IAAd;AACAjB,KAAC,CAAC,UAAD,CAAD,CAAciB,IAAd,GALkB,CAMnB;AACF,GAPD,MAOO;AACHjB,KAAC,CAAC,aAAD,CAAD,CAAiBgB,IAAjB;AACAhB,KAAC,CAAC,gBAAD,CAAD,CAAoBiB,IAApB;AACH;;AAEDjB,GAAC,CAAC,WAAD,CAAD,CAAeS,IAAf,CAAoBgB,UAAU,IAAI,EAAd,GACd,2BADc,GAEd,gDAFN;AAIAzB,GAAC,CAAC,UAAD,CAAD,CAAc2a,KAAd,CAAoB,YAAY;AAC5B3a,KAAC,CAAC,WAAD,CAAD,CAAe+O,OAAf,CAAuB;AACnBnI,eAAS,EAAE;AADQ,KAAvB,EAEG,GAFH;AAGA,WAAO,KAAP;AACH,GALD;AAOA,MAAIoC,IAAI,GAAG+D,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAX;;AACA,MAAI8J,IAAI,IAAIA,IAAI,CAAC4R,IAAjB,EAAuB;AACnB5a,KAAC,UAAD,CAAY0S,MAAZ;AACA1S,KAAC,UAAD,CAAY0S,MAAZ;AACA1S,KAAC,eAAD,CAAiB0S,MAAjB;AACH;;AAEDmI,WAAS,CAAC,CAAD,CAAT;AAEA7a,GAAC,CAAC,cAAD,CAAD,CAAkBkO,EAAlB,CAAqB,QAArB,EAA+B,YAAY;AACvC,QAAI4M,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;AACA,QAAIsF,OAAO,GAAG,EAAd;AACAA,WAAO,CAACyR,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AACA1B,WAAO,CAACuW,GAAR,GAAcD,OAAO,CAACC,GAAtB;AACAvW,WAAO,CAACwW,MAAR,GAAiBhb,CAAC,CAAC,gBAAD,CAAD,CAAoBiD,GAApB,EAAjB;AACAuB,WAAO,CAACmP,KAAR,GAAgB3T,CAAC,CAAC,cAAD,CAAD,CAAkBiD,GAAlB,EAAhB;AACA8J,QAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACH,GARD;AAUAxE,GAAC,CAAC,gBAAD,CAAD,CAAoBkO,EAApB,CAAuB,QAAvB,EAAiC,YAAY;AACzC,QAAItF,OAAO,GAAG,EAAd;AACA,QAAIkS,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;AAEA0J,WAAO,CAACqN,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AACA0C,WAAO,CAACC,QAAR,GAAmB7I,CAAC,CAAC,gBAAD,CAAD,CAAoBiD,GAApB,EAAnB;AACA8J,QAAI,CAACpN,UAAL,CAAgB,oBAAhB,EAAsCiJ,OAAtC;AACH,GAPD;AASAqS,SAAO,CAACC,SAAR,GAAoBlb,CAAC,CAAC,QAAD,CAAD,CAAYyC,IAAZ,CAAiB,WAAjB,CAApB;AACA0Y,OAAK,CAACC,OAAN,GAAgBD,KAAK,CAACE,OAAN,GAAgBC,SAAhC;;AACAH,OAAK,CAACI,gBAAN,GAAyB,YAAY;AACjC,QAAI/I,KAAK,CAACgJ,YAAN,IAAsB,OAA1B,EAAmCF,SAAS;AAC/C,GAFD;;AAGAH,OAAK,CAACM,KAAN,GAAc,YAAY;AACtBC,cAAU,CAACJ,SAAD,EAAY,CAAZ,CAAV,CADsB,CACI;AAC7B,GAFD;;AAKAtb,GAAC,CAAC,WAAD,CAAD,CAAekO,EAAf,CAAkB,OAAlB,EAA2B,YAAY;AACnC,QAAI1J,OAAO,GAAG,EAAd;AACAuI,QAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACH,GAHD;AAKAxE,GAAC,CAAC,cAAD,CAAD,CAAkBkO,EAAlB,CAAqB,OAArB,EAA8B,SAA9B,EAAyC,UAAUpF,CAAV,EAAa;AAClD,QAAI6S,OAAO,GAAG,KAAKzV,EAAnB;AACA0V,YAAQ,CAACD,OAAD,CAAR;AACH,GAHD;AAKA,MAAInb,IAAI,GAAGyM,cAAc,CAACC,OAAf,CAAuB,YAAvB,CAAX;AACA,MAAI2O,KAAK,GAAG5O,cAAc,CAACC,OAAf,CAAuB,aAAvB,CAAZ;AACA,MAAI1M,IAAI,IAAI,MAAZ,EACIR,CAAC,CAAC,cAAD,CAAD,CAAkBiB,IAAlB,GADJ,KAGIjB,CAAC,CAAC,cAAD,CAAD,CAAkBgB,IAAlB;AACJ,MAAI6a,KAAK,IAAI,MAAb,EACI7b,CAAC,CAAC,WAAD,CAAD,CAAeiB,IAAf,GADJ,KAGIjB,CAAC,CAAC,WAAD,CAAD,CAAegB,IAAf;AAEP,CAzFD,E,CA2FA;;AACO,SAASqZ,cAAT,CAAwBnU,EAAxB,EAA4B8B,GAA5B,EAAiC;AACpC;AACAhI,GAAC,CAAC,aAAD,CAAD,CAAiBsC,IAAjB,CAAsB,SAAtB,EAAiCgQ,WAAjC,CAA6C,QAA7C;AACAtS,GAAC,CAACgI,GAAD,CAAD,CAAOuK,QAAP,CAAgB,QAAhB;AACAvS,GAAC,CAAC,eAAD,CAAD,CAAmBqD,IAAnB,CAAwB2E,GAAG,CAAC3E,IAA5B,EAJoC,CAMpC;;AACA,MAAMyY,SAAS,GAAG,0BAAlB;AACA,MAAIC,OAAO,GAAG/b,CAAC,CAAC,qBAAD,CAAD,CAAyBsC,IAAzB,CAA8B,SAA9B,CAAd;AACAyZ,SAAO,CAAC9a,IAAR;AACA8a,SAAO,CAACzJ,WAAR,CAAoB,QAApB;AACA,MAAI0J,WAAW,GAAG9V,EAAE,CAAC+V,QAAH,GAAc3a,OAAd,CAAsB,GAAtB,EAA2B,GAA3B,CAAlB;AACAtB,GAAC,CAAC,MAAM8b,SAAN,GAAkBE,WAAnB,CAAD,CAAiChb,IAAjC;AACAhB,GAAC,CAAC,MAAM8b,SAAN,GAAkBE,WAAnB,CAAD,CAAiCzJ,QAAjC,CAA0C,QAA1C,EAboC,CAcpC;;AACA,MAAIrM,EAAE,IAAI,EAAV,EACIlG,CAAC,CAAC,sBAAD,CAAD,CAA0BgB,IAA1B,GADJ,KAGIhB,CAAC,CAAC,sBAAD,CAAD,CAA0BiB,IAA1B;AACJ4Z,WAAS,CAAC3U,EAAD,CAAT;AACH;;AAED,SAAS2U,SAAT,CAAmBxT,WAAnB,EAAgC;AAC5B,MAAI2B,IAAI,GAAG+D,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAX;AACA,MAAIsF,OAAO,GAAG,EAAd;AACAA,SAAO,CAACyR,KAAR,GAAgBjN,IAAI,CAAC9C,EAArB;;AACA,UAAQmB,WAAR;AACI,SAAK,CAAL;AACI,UAAI,CAACrH,CAAC,CAAC,uBAAD,CAAD,CAA2Bkc,EAA3B,CAA8B,UAA9B,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,iCAAD,CAAD,CAAqCmc,QAArC,CAA8C,KAA9C,EAAqD/Z,MAAtD,GAA+D,CAAnE,EACI2K,IAAI,CAACpN,UAAL,CAAgB,oBAAhB,EAAsC6E,OAAtC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,2BAAD,CAAD,CAA+Bmc,QAA/B,CAAwC,KAAxC,EAA+C/Z,MAAhD,GAAyD,CAA7D,EACI2K,IAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,cAAD,CAAD,CAAkBkc,EAAlB,CAAqB,UAArB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,gBAAhB,EAAkC6E,OAAlC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,kBAAD,CAAD,CAAsBmc,QAAtB,CAA+B,KAA/B,EAAsC/Z,MAAvC,GAAgD,CAApD,EACI2K,IAAI,CAACpN,UAAL,CAAgB,oBAAhB,EAAsC6E,OAAtC;AACJ;;AACJ,SAAK,GAAL;AACI,UAAI,CAACxE,CAAC,CAAC,YAAD,CAAD,CAAgBkc,EAAhB,CAAmB,UAAnB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,oBAAhB,EAAsC6E,OAAtC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,iBAAD,CAAD,CAAqBkc,EAArB,CAAwB,UAAxB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,kBAAhB,EAAoC6E,OAApC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,qBAAD,CAAD,CAAyBkc,EAAzB,CAA4B,UAA5B,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,YAAhB,EAA8B6E,OAA9B;AACJ;;AAEJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,mBAAD,CAAD,CAAuBkc,EAAvB,CAA0B,UAA1B,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,qBAAhB,EAAuC6E,OAAvC;AACJ,UAAI,CAACxE,CAAC,CAAC,iBAAD,CAAD,CAAqBkc,EAArB,CAAwB,UAAxB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,mBAAhB,EAAqC6E,OAArC;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,WAAD,CAAD,CAAekc,EAAf,CAAkB,UAAlB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,aAAhB,EAA+B6E,OAA/B;AACJ;;AACJ,SAAK,CAAL;AACI,UAAI,CAACxE,CAAC,CAAC,qBAAD,CAAD,CAAyBkc,EAAzB,CAA4B,UAA5B,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACJ;;AACJ,SAAK,EAAL;AACI,UAAI,CAACxE,CAAC,CAAC,iBAAD,CAAD,CAAqBkc,EAArB,CAAwB,UAAxB,CAAL,EACInP,IAAI,CAACpN,UAAL,CAAgB,eAAhB,EAAiC6E,OAAjC;AACJ;;AACJ,SAAK,EAAL;AACIuI,UAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACA;;AACJ,SAAK,EAAL;AACIuI,UAAI,CAACpN,UAAL,CAAgB,6BAAhB,EAA+C6E,OAA/C;AACA;;AACJ,SAAK,EAAL;AACIuI,UAAI,CAACpN,UAAL,CAAgB,4BAAhB,EAA8C6E,OAA9C;AACA;;AACJ,SAAK,EAAL;AACIuI,UAAI,CAACpN,UAAL,CAAgB,aAAhB,EAA+B6E,OAA/B;AACA;;AACJ,SAAK,EAAL;AACIuI,UAAI,CAACpN,UAAL,CAAgB,uCAAhB,EAAyD6E,OAAzD;AACA;AAlER;AAqEH;;AAGD,IAAI4X,QAAQ,GAAG,SAAXA,QAAW,CAAU1a,KAAV,EAAiB;AAC5B,MAAIA,KAAK,CAACG,OAAN,CAAc,MAAd,KAAyB,CAAC,CAA1B,IAA+BH,KAAK,CAACG,OAAN,CAAc,OAAd,KAA0B,CAAC,CAA9D,EACI,OAAOH,KAAP,CADJ,KAGI,OAAO,YAAYA,KAAnB;AACP,CALD,C,CAOA;;;AACO,SAAS2H,cAAT,CAAwBL,IAAxB,EAA8B;AACjC,MAAIA,IAAI,IAAI,IAAZ,EAAkB;AACdhJ,KAAC,CAAC,uBAAD,CAAD,CAA2BgB,IAA3B;AACA,QAAIqb,GAAG,GAAGtP,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAV;AACA,QAAI8F,GAAG,GAAG,EAAV;AACAhF,KAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuBuI,IAAI,CAACmL,KAA5B;AACA,QAAInL,IAAI,CAACsT,SAAL,CAAeC,WAAf,OAAiC,MAArC,EACIvc,CAAC,CAAC,oBAAD,CAAD,CAAwBgB,IAAxB,GADJ,KAGIhB,CAAC,CAAC,oBAAD,CAAD,CAAwBiB,IAAxB;AAEJjB,KAAC,CAAC2D,IAAF,CAAOqF,IAAP,EAAa,UAAClH,GAAD,EAAMJ,KAAN,EAAgB;AACzB,cAAQI,GAAR;AACI,aAAK,eAAL;AACA,aAAK,kBAAL;AACIkD,aAAG,GAAGtD,KAAK,GAAG,qDAAR,GAAgE2a,GAAG,CAACnW,EAApE,GAAyE,yHAA/E;AACA;;AACJ,aAAK,OAAL;AACIlB,aAAG,GAAG,wCAAwCtD,KAAxC,GAAgD,IAAhD,GAAuDA,KAAvD,GAA+D,MAArE;AACA;;AACJ,aAAK,SAAL;AACIsD,aAAG,oCAAgCoX,QAAQ,CAAC1a,KAAD,CAAxC,+GAAgJA,KAAhJ,uDAAH;AACA;;AACJ,aAAK,cAAL;AACIsD,aAAG,GAAG,cAAN;AACA,cAAItD,KAAK,IAAI,GAAb,EACIsD,GAAG,GAAG,mBAAN;AACJ,cAAItD,KAAK,IAAI,GAAb,EACIsD,GAAG,GAAG,eAAN;AACJ;;AACJ,aAAK,KAAL;AACIA,aAAG,GAAGvD,UAAU,IAAI,EAAd,GACAC,KAAK,CAACF,KAAN,CAAY,GAAZ,EAAiBgb,GAAjB,EADA,GAEA9a,KAFN;AAGA;;AACJ;AACIsD,aAAG,GAAGtD,KAAN;AAxBR;;AA0BA1B,OAAC,CAAC,mBAAD,CAAD,CAAuBsC,IAAvB,CAA4B,MAAMR,GAAlC,EAAuCrB,IAAvC,CAA4CuE,GAA5C;AACH,KA5BD;AA6BH;AACJ,C,CAED;;;AACO,SAASkG,UAAT,CAAoBlC,IAApB,EAA0B;AAC7B,MAAIA,IAAI,IAAIA,IAAI,CAAC5G,MAAL,GAAc,CAA1B,EAA6B;AACzB,QAAIgE,GAAG,GAAG,MAAV;AACA4C,QAAI,CAACnG,OAAL,CAAa,UAACC,IAAD,EAAU;AACnB,UAAI2Z,CAAC,GAAG3Z,IAAI,CAAC4C,CAAL,CAAO7D,OAAP,CAAe,GAAf,CAAR;AACA,UAAI4a,CAAC,GAAG,CAAR,EACIrW,GAAG,IAAI,8FAA8FtD,IAAI,CAAC4C,CAAL,CAAOgX,SAAP,CAAiB,CAAjB,EAAoBD,CAApB,CAA9F,GAAuH,OAA9H,CADJ,KAGIrW,GAAG,IAAI,8FAA8FtD,IAAI,CAAC4C,CAAnG,GAAuG,OAA9G;AACP,KAND;AAOA1F,KAAC,CAAC,gBAAD,CAAD,CAAoBS,IAApB,CAAyB2F,GAAzB;AACH,GAVD,MAWKpG,CAAC,CAAC,gBAAD,CAAD,CAAoBS,IAApB,CAAyB,8GAAzB,EAZwB,CAa7B;;AACH,C,CAED;;;AACO,SAAS6I,aAAT,CAAuBN,IAAvB,EAA6B;AAEhC;;;;;;AAMA,MAAIoE,WAAW;AAAA;AAAA;AAAA,4BAAG,iBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf;AAkBA;;;;;;AAIA,MAAI6F,eAAe;AAAA;AAAA;AAAA,4BAAG,kBAAOC,OAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACdpR,iBADc,GACRiL,IAAI,CAAC/N,SAAL,EADQ;AAEZqB,iBAFY,GAEN,gDAA8CyB,GAA9C,6BAA2EoR,OAFrE;AAAA;AAAA,qBAIExF,KAAK,CAACrN,GAAD,CAJP;;AAAA;AAIdsN,qBAJc;AAAA;AAAA,qBAKOA,OAAO,CAACC,IAAR,EALP;;AAAA;AAKduF,0BALc;AAAA;AAAA,gDAOPA,YAAY,CAACtL,QAAb,CAAsBwL,mBAAtB,CAA0CC,aAA1C,CAAwD,CAAxD,EAA2DC,SAA3D,CAAqEC,KAArE,CAA2EC,GAA3E,CAA+EjS,KAA/E,CAAqF,GAArF,CAPO;;AAAA;AAAA;AAAA;AAUdmb,qBAAO,CAACvJ,KAAR;AAVc,gDAWP,KAXO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAfH,eAAe;AAAA;AAAA;AAAA,KAAnB;;AAgBA,MAAI5P,IAAI,GAAG,EAAX;;AACA,MAAII,MAAM,CAACqW,OAAP,CAAe9Q,IAAf,EAAqB5G,MAArB,GAA8B,CAAlC,EAAqC;AAEjC4G,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAW;AACpB,UAAIoB,IAAI,GAAGpB,KAAX;AACA2B,UAAI,IAAI,8CAAR;AACAA,UAAI,IAAI,0BAAR;AACAA,UAAI,IAAI,sDAAsDP,IAAI,CAACuK,OAA3D,GAAqE,OAA7E;AAEAhK,UAAI,IAAI,sDAAsDP,IAAI,CAAC8Z,IAA3D,GAAkE,qDAAlE,GAA0H9Z,IAAI,CAAC+Z,OAA/H,GAAyI,yHAAjJ;AACA,UAAI/Z,IAAI,CAACwR,IAAT,EACIjR,IAAI,IAAI,2BAA2BP,IAAI,CAACwR,IAAxC;AACJ,UAAIxR,IAAI,CAACga,MAAT,EACIzZ,IAAI,IAAI,0BAA0BP,IAAI,CAACga,MAAvC;AACJ,UAAIha,IAAI,CAACia,KAAT,EACI1Z,IAAI,IAAI,+BAA+BP,IAAI,CAACia,KAA5C;AACJ1Z,UAAI,IAAI,QAAR;AAEA,UAAIP,IAAI,CAACka,WAAL,IAAoB,EAAxB,EACI3Z,IAAI,IAAI,uFAAuFP,IAAI,CAACka,WAA5F,GAA0G,QAAlH;AACJ,UAAIla,IAAI,CAACpB,KAAL,CAAWU,MAAX,GAAoB,CAAxB,EACIiB,IAAI,IAAI,mFAAmFP,IAAI,CAACoD,EAAxF,GAA6F,kDAA7F,GAAkJpD,IAAI,CAACoD,EAAvJ,GAA4J,qBAApK;AACJ7C,UAAI,IAAI,0CAA0CP,IAAI,CAACoD,EAA/C,GAAoD,IAA5D;AACA7C,UAAI,IAAI,yBAAR;;AAEA,UAAIP,IAAI,CAACwH,cAAL,CAAoB,UAApB,KAAmCxH,IAAI,CAACwH,cAAL,CAAoB,WAApB,CAAvC,EAAyE;AACrE,YAAIxH,IAAI,CAAC8S,QAAL,IAAiB,EAAjB,IAAuB9S,IAAI,CAACgT,SAAL,IAAkB,EAA7C,EAAiD;AAC7C,cAAMnI,OAAO,GAAGsF,eAAe,CAACnQ,IAAI,CAAC8Z,IAAN,CAAf,CACXlO,IADW,CACN,UAAC8F,QAAD,EAAc;AAChBpH,uBAAW,CAAC,2BAAD,EAA8B,sBAA9B,EAAsD;AAC7D6P,yBAAW,EAAEna,IAAI,CAACiY,GAD2C;AAE7D9E,mBAAK,EAAEnT,IAAI,CAAC+Z,OAFiD;AAG7DjH,sBAAQ,EAAEpB,QAAQ,CAAC,CAAD,CAH2C;AAI7DsB,uBAAS,EAAEtB,QAAQ,CAAC,CAAD;AAJ0C,aAAtD,CAAX;AAMH,WARW,CAAhB;AASH;AACJ;;AAED,UAAI7H,IAAI,GAAG7J,IAAI,CAACpB,KAAhB;AACAiL,UAAI,CAAC9J,OAAL,CAAa,UAACqa,MAAD,EAASC,MAAT,EAAqB;AAC9B9Z,YAAI,iIACkD6Z,MAAM,CAACxX,CADzD,gBACmEwX,MAAM,CAACxX,CAD1E,SAC+E5C,IAAI,CAACiY,GADpF,cAEjBoC,MAAM,GAAG,CAFQ,WAEDD,MAAM,CAACzX,CAFN,gBAAJ;AAIApC,YAAI,kCAA+B6Z,MAAM,CAACxX,CAAtC,yCAAJ;AACH,OAND;AAOArC,UAAI,IAAI,yBAAR;AACH,KA7CD;AA+CH,GAjDD,MAmDIA,IAAI,yPAAJ;;AAEJrD,GAAC,CAAC,iCAAD,CAAD,CAAqCS,IAArC,CAA0C4C,IAA1C;AAGArD,GAAC,CAAC,cAAD,CAAD,CAAkB2a,KAAlB,CAAwB,UAAU7R,CAAV,EAAa;AACjC,QAAIsU,MAAM,GAAGtU,CAAC,CAACyF,aAAF,CAAgBrI,EAA7B;;AAEA,QAAI,CAACkX,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AAED,QAAIC,UAAU,GAAGD,MAAM,CAAC5b,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAjB;AAAA,QACI8b,cAAc,GAAGF,MAAM,CAAC5b,KAAP,CAAa,GAAb,EAAkB,CAAlB,CADrB;AAAA,QAEIsZ,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAFd;AAAA,QAGI0J,OAAO,GAAG;AACNyU,gBAAU,EAAEA,UADN;AAENC,oBAAc,EAAEA,cAFV;AAGNrH,WAAK,EAAE6E,OAAO,CAAC5U,EAHT,CAMd;;AANc,KAHd;;AAUA,aAASqX,QAAT,CAAkB/c,IAAlB,EAAwB;AAEpB,UAAI0F,EAAE,GAAG1F,IAAI,CAAC8Q,EAAd;AAAA,UACIkM,QAAQ,GAAGhd,IAAI,CAACid,QADpB;AAAA,UAEIrX,GAAG,GAAG,EAFV;AAIAoX,cAAQ,CAAC3a,OAAT,CAAiB,UAACgX,OAAD,EAAa;AAC1BzT,WAAG,IAAI,+BAAP;AACAA,WAAG,IAAI,mCAAP;AACAA,WAAG,IAAI,kCAAP;AACAA,WAAG,IAAI,iDAAP;AACAA,WAAG,IAAI,4DAAP;AACAA,WAAG,IAAI,yDAAyDyT,OAAO,CAAC6D,GAAjE,GAAuE,QAA9E;AACAtX,WAAG,IAAI,0BAAP;AACAA,WAAG,IAAI,sBAAP;AACAA,WAAG,IAAI,kCAAP;AACAA,WAAG,IAAI,iDAAP;AACAA,WAAG,IAAI,qGAAP;AACAA,WAAG,IAAI,yDAAyDyT,OAAO,CAAC8D,IAAjE,GAAwE,QAA/E;AACAvX,WAAG,IAAI,0BAAP;AACAA,WAAG,IAAI,sBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,gDAAP;AACAA,WAAG,IAAI,uEAAP;AACAA,WAAG,IAAI,yDAAyDyT,OAAO,CAAC+D,YAAjE,GAAgF,QAAvF;AACAxX,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,gDAAP;AACAA,WAAG,IAAI,sDAAP;AACAA,WAAG,IAAI,yDAAyDyT,OAAO,CAACgE,KAAjE,GAAyE,QAAhF;AACAzX,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,gDAAP;AACAA,WAAG,IAAI,4EAAP;AACAA,WAAG,IAAI,yDAAyDyT,OAAO,CAACiE,KAAjE,GAAyE,QAAhF;AACA1X,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,kDAAP;AACAA,WAAG,IAAI,+DAAP;AACAA,WAAG,IAAI,0DAA0DyT,OAAO,CAACkE,MAAlE,GAA2E,QAAlF;AACA3X,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,sBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,kDAAP;AACAA,WAAG,IAAI,oEAAP;AACAA,WAAG,IAAI,0DAA0DyT,OAAO,CAACmE,UAAlE,GAA+E,QAAtF;AACA5X,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,sBAAP;AACAA,WAAG,IAAI,iCAAP;AACAA,WAAG,IAAI,kDAAP;AACAA,WAAG,IAAI,oEAAP;AACAA,WAAG,IAAI,0DAA0DyT,OAAO,CAACoE,QAAlE,GAA6E,QAApF;AACA7X,WAAG,IAAI,2BAAP;AACAA,WAAG,IAAI,sBAAP;AACAA,WAAG,IAAI,mBAAP;AACAA,WAAG,IAAI,eAAP;AACA,YAAIoX,QAAQ,CAACpb,MAAT,GAAkB,CAAlB,IAAuBob,QAAQ,CAAC3b,OAAT,CAAiBgY,OAAjB,KAA6B2D,QAAQ,CAACpb,MAAT,GAAkB,CAA1E,EACIgE,GAAG,IAAI,mFAAP,CAtDsB,CAsDqE;AAClG,OAvDD;AAyDApG,OAAC,sBAAoBkG,EAApB,CAAD,CAA2BzF,IAA3B,CAAgC2F,GAAhC;AACH;;AAEDpG,KAAC,CAACI,IAAF,CAAO;AACHM,UAAI,EAAE,MADH;AAEHL,SAAG,EAAE,mDAFF;AAGHG,UAAI,EAAE,mBAAmB+G,IAAI,CAACC,SAAL,CAAeoB,OAAf,CAAnB,GAA6C,IAHhD;AAIHhI,iBAAW,EAAE,iCAJV;AAKHD,cAAQ,EAAE,MALP;AAMHJ,aAAO,EAAE,iBAAUsH,QAAV,EAAoB;AACzB,YAAIrH,IAAI,GAAG+G,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;;AACA0c,gBAAQ,CAAC/c,IAAD,CAAR;AACH;AATE,KAAP;AAYH,GA/FD;AAiGH,C,CAED;;;AACO,SAAS+I,YAAT,CAAsBP,IAAtB,EAA4B;AAC/B,MAAI3F,IAAI,GAAG,EAAX;;AAEA,MAAI,CAACI,MAAM,CAACC,IAAP,CAAYsF,IAAZ,EAAkB5G,MAAvB,EAA+B;AAC3BiB,QAAI,+KAAJ;AACArD,KAAC,CAAC,2BAAD,CAAD,CAA+BS,IAA/B,CAAoC4C,IAApC;AACA;AACH;;AACD2F,MAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC,QAAIlG,IAAI,GAAGpB,KAAX;AACA2B,QAAI,IAAI,mCAAR;AACAA,QAAI,IAAI,+BAA+B0J,IAAI,CAACjN,eAAL,CAAqB4B,KAAK,CAAC2L,OAA3B,CAA/B,GAAqE,OAA7E;AACAhK,QAAI,IAAI,yBAAR;AAEA,QAAI6a,QAAQ,GAAGpb,IAAI,CAACpB,KAApB;AAEAwc,YAAQ,CAACrb,OAAT,CAAiB,UAACqa,MAAD,EAASC,MAAT,EAAiBe,QAAjB,EAA8B;AAC3C,UAAIC,GAAG,GAAGjB,MAAV;AACA7Z,UAAI,IAAI,8CAA8C8a,GAAG,CAACzY,CAAlD,GAAsD,QAA9D;AACH,KAHD;AAIArC,QAAI,IAAI,aAAR;AACH,GAbD;AAcArD,GAAC,CAAC,2BAAD,CAAD,CAA+BS,IAA/B,CAAoC4C,IAApC;AACH,C,CAED;;;AACO,SAASmG,cAAT,CAAwBR,IAAxB,EAA8B;AACjC,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,cAAD,CAAD,CAAkBgB,IAAlB;AACA,QAAIqC,IAAI,GAAG,EAAX;AACA2F,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC,UAAIlG,IAAI,GAAGpB,KAAX;AACA,UAAI0c,OAAO,GAAG,MAAMtb,IAAI,CAACub,KAAX,GAAmB,GAAnB,GAAyBvb,IAAI,CAACwb,KAA9B,GAAsC,MAAtC,GAA+Cxb,IAAI,CAACyb,IAApD,GAA2D,iBAA3D,GAA+Ezb,IAAI,CAAC0b,KAApF,GAA4F,GAA5F,GAAkG1b,IAAI,CAAC2b,IAArH;AACApb,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACE,IAAxE,GAA+E,WAA/E,GAA6Fob,OAA7F,GAAuG,WAAvG,GAAqHtb,IAAI,CAACsG,GAA1H,GAAgI,WAAxI;AACA,UAAItG,IAAI,CAAC4b,OAAL,IAAgB,EAApB,EACIrb,IAAI,IAAI,8DAA8DP,IAAI,CAAC4b,OAAnE,GAA6E,8BAA7E,GAA8G5b,IAAI,CAAC6b,SAAnH,GAA+H,gBAAvI;AACJtb,UAAI,IAAI,YAAR;AACH,KAPD;AAQArD,KAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuB4C,IAAvB;AACH,GAZD,MAcIrD,CAAC,CAAC,yBAAD,CAAD,CAA6BS,IAA7B,CAAkC,8GAAlC;AACP;;AAGD,SAASme,QAAT,CAAkBC,KAAlB,EAAyB;AACrB,SAAO,yCAAyCA,KAAhD,CADqB,CAErB;AACH,C,CAED;;;AACO,SAASpV,gBAAT,CAA0BT,IAA1B,EAAgC;AACnC,MAAI3F,IAAI,GAAG,EAAX;;AACA,MAAI2F,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,iBAAD,CAAD,CAAqBgB,IAArB;AACA,QAAI8d,MAAM,GAAG,CAAb;AAAA,QACIC,MAAM,GAAG,CADb;AAEA/V,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC,UAAIlG,IAAI,GAAGpB,KAAX;;AACA,UAAIkS,QAAQ,CAAC9Q,IAAI,CAACkc,UAAN,CAAR,KAA8B,CAA9B,IAAmCpL,QAAQ,CAAC9Q,IAAI,CAACmc,UAAN,CAAR,KAA8B,CAArE,EAAwE;AACpEH,cAAM,IAAIlL,QAAQ,CAAC9Q,IAAI,CAACkc,UAAN,CAAlB;AACAD,cAAM,IAAInL,QAAQ,CAAC9Q,IAAI,CAACmc,UAAN,CAAlB;AACA5b,YAAI,IAAI,kDAAR;AACAA,YAAI,IAAI,8EAA8EP,IAAI,CAACmL,IAAnF,GAA0F,OAAlG;AACA5K,YAAI,IAAI,gCAAR;AACAA,YAAI,IAAI,mFAAmFP,IAAI,CAACoc,QAAxF,GAAmG,OAA3G;AACA7b,YAAI,IAAI,gEAAR;AACAA,YAAI,IAAI,0BAA0BP,IAAI,CAACuR,QAA/B,GAA0C,qDAA1C,GAAkGvR,IAAI,CAACqc,eAAvG,GAAyH,8HAAjI;AACA9b,YAAI,IAAI,6EAAR;AACAA,YAAI,IAAI,0BAA0B0J,IAAI,CAAChN,kBAAL,CAAwB+C,IAAI,CAACmb,QAAL,CAAclZ,MAAd,CAAqB,CAArB,CAAxB,EAAiD,GAAjD,CAA1B,GAAkF,OAA1F;AACA1B,YAAI,IAAI,4EAAR;AACAA,YAAI,IAAI,0BAA0BP,IAAI,CAACsc,MAAL,CAAYra,MAAZ,CAAmB,CAAnB,CAA1B,GAAkD,OAA1D;AACA1B,YAAI,IAAI,2EAAR;AACAA,YAAI,IAAI,uCAAuCP,IAAI,CAACmc,UAA5C,GAAyD,aAAzD,GAAyEnc,IAAI,CAACkc,UAA9E,GAA2F,kBAAnG;AACH;AACJ,KAlBD;AAqBA,QAAIK,QAAQ,oVAG0CN,MAH1C,oZAO0CD,MAP1C,6EAAZ;AAWA9e,KAAC,CAAC,6BAAD,CAAD,CAAiCS,IAAjC,CAAsC4e,QAAQ,GAAGhc,IAAjD;AAEH,GAtCD,MAwCIrD,CAAC,CAAC,6BAAD,CAAD,CAAiCS,IAAjC,CAAsC,mGAAtC;AACP,C,CAED;;;AACO,SAASiJ,mBAAT,CAA6BV,IAA7B,EAAmC;AACtC,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,mBAAD,CAAD,CAAuBgB,IAAvB;AACA,QAAIqC,IAAI,GAAG,EAAX;AACA2F,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC,UAAIlG,IAAI,GAAGpB,KAAX;AACA2B,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACuS,GAAxE,GAA8E,WAA9E,GAA4FvS,IAAI,CAACwc,OAAjG,GAA2G,WAA3G,GAAyHxc,IAAI,CAACyc,GAA9H,GAAoI,YAA5I;AACA,UAAIzc,IAAI,CAACoD,EAAL,IAAWpD,IAAI,CAAC0c,QAApB,EACInc,IAAI,wEAAiEP,IAAI,CAACoD,EAAtE,uCAAuGpD,IAAI,CAAC0c,QAA5G,qDAAJ;AACJnc,UAAI,IAAI,cAAcP,IAAI,CAAC2c,OAAnB,GAA6B,eAArC;AACH,KAND;AAOAzf,KAAC,CAAC,mBAAD,CAAD,CAAuBS,IAAvB,CAA4B4C,IAA5B;AACH,GAXD,MAYK;AACDrD,KAAC,CAAC,oBAAD,CAAD,CAAwBS,IAAxB,CAA6B,gFAA7B;AACH;AACJ,C,CAED;;;AACO,SAASkJ,iBAAT,CAA2BX,IAA3B,EAAiC;AACpC,MAAI3F,IAAI,GAAG,EAAX;;AACA,MAAI2F,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,iBAAD,CAAD,CAAqBgB,IAArB;AACAgI,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC,UAAIlG,IAAI,GAAGpB,KAAX;AACA,UAAIge,IAAI,GAAG,CAAC5c,IAAI,CAAC6c,QAAL,IAAiB,EAAjB,GAAsB,6CAA6C7c,IAAI,CAAC8c,QAAxE,GAAmF,EAApF,IAA0F,QAA1F,IAAsG9c,IAAI,CAAC+c,QAAL,IAAiB,EAAjB,GAAsB,6CAA6C/c,IAAI,CAAC+c,QAAxE,GAAmF,EAAzL,CAAX;AACAxc,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACwc,OAAxE,GAAkF,WAAlF,GAAgGxc,IAAI,CAACgd,MAArG,GAA8G,WAA9G,GAA4HJ,IAA5H,GAAmI,aAA3I;AACH,KAJD;AAKA1f,KAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B4C,IAA1B;AACH,GARD,MASKrD,CAAC,CAAC,iBAAD,CAAD,CAAqBiB,IAArB;AACR,C,CAED;;;AACO,SAAS2I,WAAT,CAAqBZ,IAArB,EAA2B;AAC9B,MAAI3F,IAAI,GAAG,EAAX;;AACA,MAAI2F,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,WAAD,CAAD,CAAegB,IAAf;AACAgI,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAC3B,UAAImB,IAAI,GAAGpB,KAAX;AAAA,UACIqe,OAAO,GAAG,EADd;AAEA,UAAIjd,IAAI,CAACwb,KAAT,EACIyB,OAAO,IAAI,MAAMjd,IAAI,CAACwb,KAAtB;AACJ,UAAIxb,IAAI,CAACyb,IAAT,EACIwB,OAAO,IAAI,SAASjd,IAAI,CAACyb,IAAzB;AACJ,UAAIzb,IAAI,CAAC0b,KAAT,EACIuB,OAAO,IAAI,CAAIA,OAAO,GAAG,IAAH,GAAU,EAArB,kEAAyCjd,IAAI,CAAC0b,KAAzD;AACJnb,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACkd,GAAxE,GAA8E,OAAtF;AACA,UAAID,OAAJ,EACI1c,IAAI,IAAI,SAAS0c,OAAT,GAAmB,OAA3B,CADJ,KAGI1c,IAAI,IAAI,sBAAR;AACJA,UAAI,IAAI,4EAA4EP,IAAI,CAACyc,GAAjF,GAAuF,kBAA/F;AACA,UAAIzc,IAAI,CAACmd,MAAL,IAAe,IAAf,IAAuBnd,IAAI,CAACmd,MAAL,IAAe,EAA1C,EACI5c,IAAI,IAAI,8DAA8DP,IAAI,CAACmd,MAAnE,GAA4E,8BAA5E,GAA6Gnd,IAAI,CAAC0c,QAAlH,GAA6H,gBAArI;AACJnc,UAAI,IAAI,cAAR;AACH,KAlBD;AAmBArD,KAAC,CAAC,WAAD,CAAD,CAAeS,IAAf,CAAoB4C,IAApB;AACH,GAtBD,MAwBIrD,CAAC,CAAC,sBAAD,CAAD,CAA0BS,IAA1B,CAA+B,+HAA/B;AACP;;AAEM,SAASwJ,WAAT,CAAqBjB,IAArB,EAA2B;AAC9B,MAAIA,IAAI,IAAI,EAAE,iBAAiBA,IAAnB,CAAR,IAAoCvF,MAAM,CAACC,IAAP,CAAYsF,IAAZ,EAAkB5G,MAA1D,EAAkE;AAC9D,QAAI8d,KAAK,GAAG,EAAZ;AACAlX,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAC3Bue,WAAK,wDAEqBve,KAAK,GAAG,CAF7B,wDAGsBD,KAAK,CAACye,IAH5B,sDAIsBze,KAAK,CAAC0N,IAJ5B,gEAMN1N,KAAK,CAAC0e,UAAN,sEACmE1e,KAAK,CAAC0e,UADzE,8DAEY1e,KAAK,CAAC8d,QAAN,GAAiB9d,KAAK,CAAC8d,QAAvB,GAAkC,mBAF9C,8EAIO,kBAVD,oBAAL;AAaH,KAdD;AAeA,QAAIpZ,GAAG,+oBAYD8Z,KAZC,+CAAP;AAiBAlgB,KAAC,CAAC,kBAAD,CAAD,CAAsBS,IAAtB,CAA2B2F,GAA3B;AACH,GAnCD,MAmCO;AACHpG,KAAC,CAAC,kBAAD,CAAD,CAAsBS,IAAtB,CAA2B,qGAA3B;AACH;AACJ,C,CAED;;;AACO,SAASyJ,YAAT,CAAsBlB,IAAtB,EAA4B;AAC/B,MAAIvF,MAAM,CAACqW,OAAP,CAAe9Q,IAAf,EAAqB5G,MAArB,GAA8B,CAA9B,IAAmCqB,MAAM,CAACqW,OAAP,CAAe9Q,IAAI,CAACqX,SAApB,EAA+Bje,MAA/B,GAAwC,CAA/E,EAAkF;AAC9E,QAAIgE,GAAG,GAAG,EAAV;AAAA,QACIka,QAAQ,GAAGtX,IAAI,CAACqX,SADpB;;AAEA,QAAIC,QAAQ,KAAK5d,SAAjB,EAA4B;AAExB;AAEA0D,SAAG,IAAI,oBAAP;AACAA,SAAG,IAAI,UAAU4C,IAAI,CAACuX,WAAf,GAA6B,QAApC;AACAna,SAAG,IAAI,+EAAP;AACAA,SAAG,IAAI,YAAP;AACAA,SAAG,IAAI,+BAAP;AACAA,SAAG,IAAI,2CAAP;AACAA,SAAG,IAAI,yDAAP,CAVwB,CAWxB;AACA;;AACAA,SAAG,IAAI,qCAAP;AACAA,SAAG,IAAI,UAAP;AACAA,SAAG,IAAI,WAAP;AAEAka,cAAQ,CAACzd,OAAT,CAAiB,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AAC/ByE,WAAG,IAAI,+BAAP;AACAA,WAAG,IAAI,4BAA4BzE,KAAK,GAAG,CAApC,IAAyC,OAAhD;AACAyE,WAAG,IAAI,UAAU1E,KAAK,CAAC6e,WAAhB,GAA8B,OAArC,CAH+B,CAI/B;AACA;;AACAna,WAAG,IAAI,oHAAoHzE,KAApH,GAA4H,sGAAnI;AACAyE,WAAG,IAAI,OAAP;AACAA,WAAG,IAAI,oDAAoDzE,KAApD,GAA4D,wBAAnE;AACAyE,WAAG,IAAI,sBAAsBzE,KAAtB,GAA8B,IAArC;AAEA,YAAI6e,SAAS,GAAG9e,KAAK,CAAC2e,SAAtB;AACAG,iBAAS,CAAC3d,OAAV,CAAkB,UAACgX,OAAD,EAAa;AAC3BzT,aAAG,IAAI,+BAAP;AACAA,aAAG,IAAI,mCAAP;AACAA,aAAG,IAAIyT,OAAO,CAAC4G,OAAR,IAAmB5G,OAAO,CAAC4G,OAAR,KAAoB,YAAvC,mUAG+C5G,OAAO,CAAC4G,OAHvD,yGAAP;AAMAra,aAAG,IAAIyT,OAAO,CAAC6D,GAAR,IAAejc,UAAU,IAAI,EAA7B,6SAG+CoY,OAAO,CAAC6D,GAHvD,wGAAP;AAMAtX,aAAG,IAAIyT,OAAO,CAAC8D,IAAR,kgBAG8C9D,OAAO,CAAC8D,IAHtD,uGAAP;AAMAvX,aAAG,IAAIyT,OAAO,CAAC+D,YAAR,mXAG+C/D,OAAO,CAAC+D,YAHvD,0GAAP;AAMAxX,aAAG,IAAIyT,OAAO,CAACgE,KAAR,kRAG+ChE,OAAO,CAACgE,KAHvD,0GAAP;AAMAzX,aAAG,IAAI3E,UAAU,IAAI,EAAd,wYAG+CoY,OAAO,CAACiE,KAAR,GAAgBjE,OAAO,CAACiE,KAAxB,GAAgCjE,OAAO,CAAC6G,KAHvF,yGAKkB,EALzB;AAMAta,aAAG,IAAIyT,OAAO,CAACkE,MAAR,sUAGgDlE,OAAO,CAACkE,MAHxD,yGAAP;AAMA3X,aAAG,IAAIyT,OAAO,CAAC8G,gBAAR,+VAGgD9G,OAAO,CAAC8G,gBAHxD,yGAAP;AAMAva,aAAG,IAAI,mBAAP;AACAA,aAAG,IAAI,eAAP;AACA,cAAIoa,SAAS,CAACpe,MAAV,GAAmB,CAAnB,IAAwBoe,SAAS,CAAC3e,OAAV,CAAkBgY,OAAlB,KAA8B2G,SAAS,CAACpe,MAAV,GAAmB,CAA7E,EACIgE,GAAG,IAAI,mFAAP,CAtDuB,CAsDoE;AAClG,SAvDD;AAwDAA,WAAG,IAAI,uBAAP;AACAA,WAAG,IAAI,eAAP;AACH,OAtED;AAuEAA,SAAG,IAAI,gBAAP;AACH;AACJ,GA7FD,MA8FK;AACD;AACAA,OAAG,GAAG,wEAAN;AACH;;AACDpG,GAAC,CAAC,kBAAD,CAAD,CAAsBS,IAAtB,CAA2B2F,GAA3B;AACH,C,CAED;;;AACO,SAAS+D,iBAAT,CAA2BnB,IAA3B,EAAiC;AACpC,MAAIJ,OAAO,GAAG,EAAd;AAAA,MACIkS,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CADd;;AAGA,MAAIuE,MAAM,CAACqW,OAAP,CAAe9Q,IAAf,EAAqB5G,MAArB,GAA8B,CAAlC,EAAqC;AACjC,QAAIgE,GAAG,GAAG,EAAV;AACA4C,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC5C,SAAG,IAAI,oBAAoB1E,KAAK,CAAC+D,CAA1B,GAA8B,IAA9B,GAAqCsH,IAAI,CAACjN,eAAL,CAAqB4B,KAAK,CAACgE,CAA3B,CAArC,GAAqE,WAA5E;AACH,KAFD;AAIA1F,KAAC,CAAC,gBAAD,CAAD,CAAoBS,IAApB,CAAyB2F,GAAzB,EAA8Bwa,YAA9B,CAA2C,SAA3C;AACAhY,WAAO,CAACC,QAAR,GAAmBG,IAAI,CAAC,CAAD,CAAJ,CAAQvD,CAA3B;AACH,GARD,MASK;AACDzF,KAAC,CAAC,uBAAD,CAAD,CAA2BiB,IAA3B;AACA2H,WAAO,CAACC,QAAR,GAAmB,IAAnB;AACH;;AAEDD,SAAO,CAACqN,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AACA6G,MAAI,CAACpN,UAAL,CAAgB,oBAAhB,EAAsCiJ,OAAtC;AACH;;AAAA,C,CAED;;AACO,SAASwB,cAAT,CAAwBpB,IAAxB,EAA8B;AACjC,MAAI8R,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;AAAA,MACIsF,OAAO,GAAG,EADd;;AAGA,MAAIwE,IAAI,IAAIA,IAAI,CAAC5G,MAAL,GAAc,CAA1B,EAA6B;AACzB,QAAIgE,GAAG,GAAG,EAAV;AACA4C,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC5C,SAAG,IAAI,oBAAoB1E,KAAK,CAAC+D,CAA1B,GAA8B,IAA9B,GAAqC/D,KAAK,CAACgE,CAA3C,GAA+C,WAAtD;AACH,KAFD;AAIA1F,KAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuB2F,GAAvB,EAA4Bwa,YAA5B,CAAyC,SAAzC;AACApc,WAAO,CAACmP,KAAR,GAAgB3T,CAAC,CAAC,cAAD,CAAD,CAAkBiD,GAAlB,EAAhB;AACH;;AACDuB,SAAO,CAACwW,MAAR,GAAiBhb,CAAC,CAAC,gBAAD,CAAD,CAAoBiD,GAApB,EAAjB;AACAuB,SAAO,CAACyR,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AACA1B,SAAO,CAACuW,GAAR,GAAcD,OAAO,CAACC,GAAtB;AACAhO,MAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgC6E,OAAhC;AACH,C,CAED;;;AACO,SAAS6F,YAAT,CAAsBrB,IAAtB,EAA4B;AAC/B,MAAI6X,KAAK,GAAG7X,IAAI,CAAC6X,KAAjB;AACA,MAAIzC,OAAO,GAAGpV,IAAI,CAACoV,OAAnB;AACA,MAAI/a,IAAI,GAAG,EAAX;;AACA,MAAIwd,KAAK,IAAI,EAAb,EAAiB;AACb7gB,KAAC,CAAC,mBAAD,CAAD,CAAuBgB,IAAvB;AACAhB,KAAC,CAAC2D,IAAF,CAAOkd,KAAP,EAAc,UAAClf,KAAD,EAAQD,KAAR,EAAkB;AAC5B1B,OAAC,CAAC,MAAM2B,KAAP,CAAD,CAAelB,IAAf,CAAoBiB,KAApB;AACH,KAFD;AAGH;;AACD,MAAI0c,OAAO,CAAChc,MAAR,GAAiB,CAArB,EAAwB;AACpBpC,KAAC,CAAC,qBAAD,CAAD,CAAyBgB,IAAzB;AACA,QAAIoF,GAAG,GAAG,EAAV;AACAgY,WAAO,CAACvb,OAAR,CAAgB,UAACnB,KAAD,EAAQC,KAAR,EAAeyc,OAAf,EAA2B;AACvChY,SAAG,IAAI,cAAczE,KAAK,GAAG,CAAtB,IAA2B,WAA3B,IAA0CD,KAAK,CAACsB,IAAN,IAAc,EAAd,GAAmBtB,KAAK,CAACof,OAAzB,GAAmCpf,KAAK,CAACsB,IAAnF,IAA2F,YAA3F,IAA2GtB,KAAK,CAAC6c,IAAN,IAAc,EAAd,GAAmB,YAAnB,GAAkC,SAAS7c,KAAK,CAAC6c,IAAf,GAAsB,gBAAtB,GAAyC7c,KAAK,CAAC8c,KAA5L,IAAqM,WAArM,IAAoN9c,KAAK,CAACqf,OAAN,IAAiB,EAAjB,GAAsB,YAAtB,GAAqCrf,KAAK,CAACqf,OAA/P,IAA0Q,OAAjR;AACA3a,SAAG,IAAI,UAAU1E,KAAK,CAACsf,MAAN,IAAgB,EAAhB,GAAqB,gEAAgEtf,KAAK,CAACue,MAAtE,GAA+E,MAA/E,GAAwFve,KAAK,CAAC8d,QAA9F,GAAyG,OAA9H,GAAwI,EAAlJ,IAAwJ,YAA/J;AACH,KAHD;AAKAxf,KAAC,CAAC,UAAD,CAAD,CAAcS,IAAd,CAAmB2F,GAAnB;AACH,GATD,MAUK;AACDpG,KAAC,CAAC,qBAAD,CAAD,CAAyBgB,IAAzB;AACAhB,KAAC,CAAC,qBAAD,CAAD,CAAyBS,IAAzB,CAA8B,4FAA9B;AACH;AACJ,C,CAED;;;AACO,SAAS8J,WAAT,CAAqBvB,IAArB,EAA2B;AAC9B,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,iBAAD,CAAD,CAAqBgB,IAArB;AACAhB,KAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B,EAA1B;AACA,QAAI2F,GAAG,GAAG,EAAV;AACA4C,QAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAW;AACpB0E,SAAG,IAAI,0CAAP;AACAA,SAAG,IAAI,4EAA4E1E,KAAK,CAACwE,EAAlF,GAAuF,mFAAvF,GAA6KxE,KAAK,CAACwE,EAAnL,GAAwL,4FAAxL,GAAuRxE,KAAK,CAACof,OAA7R,GAAuS,eAA9S;AACH,KAHD;AAIA9gB,KAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B2F,GAA1B;AACH,GATD,MAWIpG,CAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B,4FAA1B;AACP,C,CAED;;;AACO,SAAS6Z,SAAT,CAAmBpU,EAAnB,EAAuB;AAC1B,MAAI0C,OAAO,GAAG,EAAd;AACA,MAAIkS,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;AACA0J,SAAO,CAACqN,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AACA0C,SAAO,CAACqY,MAAR,GAAiB/a,EAAjB;AACA6G,MAAI,CAACpN,UAAL,CAAgB,eAAhB,EAAiCiJ,OAAjC;AACH,C,CAED;;;AACO,SAAS4B,aAAT,CAAuBxB,IAAvB,EAA6B;AAChC,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjB,QAAI8e,IAAI,GAAGlY,IAAI,CAAC,CAAD,CAAf;AACA,QAAI5C,GAAG,GAAG,gDAAgD8a,IAAI,CAACC,KAAL,IAAc,IAAd,GAAqB,8BAA8BD,IAAI,CAACC,KAAxD,GAAgE,6BAAhH,IAAiJ,WAA3J;AACA/a,OAAG,IAAI,+BAA+B8a,IAAI,CAAC1B,QAAL,IAAiB,EAAjB,GAAsB0B,IAAI,CAACJ,OAA3B,GAAqCI,IAAI,CAAC1B,QAAzE,IAAqF,MAA5F;AACAxf,KAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuB2F,GAAvB;AACApG,KAAC,CAAC,YAAD,CAAD,CAAgBohB,KAAhB,CAAsB,MAAtB;AACH,GAND,MAQIphB,CAAC,CAAC,iBAAD,CAAD,CAAqBS,IAArB,CAA0B,qFAA1B;AACP,C,CACD;;;AACO,SAASgK,cAAT,CAAwBzB,IAAxB,EAA8B;AACjC,MAAI5C,GAAG,GAAG,EAAV;AACA,MAAI4C,IAAI,CAAC5G,MAAL,IAAe,CAAnB,EACIgE,GAAG,GAAG,wHAAN,CADJ,KAGI4C,IAAI,CAACnG,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeqH,IAAf,EAAwB;AACjC5C,OAAG,IAAI,oCAAoC1E,KAAK,CAACwE,EAA1C,GAA+C,oCAAtD;AACAE,OAAG,IAAI,kEAAP;AACAA,OAAG,IAAI,sGAAP;AACAA,OAAG,IAAI,sCAAsC1E,KAAK,CAAC2f,MAA5C,GAAqD,oBAA5D;AACAjb,OAAG,IAAI,uEAAP;AACAA,OAAG,IAAI,oCAAoC1E,KAAK,CAAC+d,OAA1C,GAAoD,iEAA3D;AACArZ,OAAG,IAAI,yCAAyC,IAAI2F,IAAJ,CAASrK,KAAK,CAAClB,IAAf,KAAwB,cAAxB,GAAyC,IAAIuL,IAAJ,CAASrK,KAAK,CAAClB,IAAf,EAAqB8gB,cAArB,CAAoC,IAApC,EAA0C9f,KAA1C,CAAgD,GAAhD,EAAqD,CAArD,CAAzC,GAAmGE,KAAK,CAAClB,IAAlJ,IAA0J,2BAAjK;AACA4F,OAAG,IAAI,6EAA6EzE,KAA7E,GAAqF,GAArF,GAA2FD,KAAK,CAACwE,EAAjG,GAAsG,sBAAtG,GAA+HvE,KAA/H,GAAuI,2CAAvI,IAAsLD,KAAK,CAAC6f,MAAN,IAAgB,EAAhB,GAAqB,CAArB,GAAyB7f,KAAK,CAAC6f,MAArN,IAA+N,eAAtO;AACAnb,OAAG,IAAI,gFAAgFzE,KAAhF,GAAwF,GAAxF,GAA8FD,KAAK,CAACwE,EAApG,GAAyG,wBAAzG,GAAoIvE,KAApI,GAA4I,0CAA5I,IAA0LD,KAAK,CAAC8f,QAAN,IAAkB,EAAlB,GAAuB,CAAvB,GAA2B9f,KAAK,CAAC8f,QAA3N,IAAuO,uCAA9O;AACH,GAVD;AAWJxhB,GAAC,CAAC,mBAAD,CAAD,CAAuBS,IAAvB,CAA4B2F,GAA5B;AACH;;AAEM,SAASiF,2BAAT,CAAqCxD,QAArC,EAA+C;AAElD,MAAIuF,WAAW;AAAA;AAAA;AAAA,4BAAG,kBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf;;AAkBA,MAAIpN,CAAC,CAAC+Q,aAAF,CAAgBlJ,QAAhB,KAA6BA,QAAQ,CAACsJ,QAAtC,IAAkDtJ,QAAQ,CAACuJ,MAAT,CAAgBhP,MAAhB,IAA0B,CAAhF,EAAmF;AAC/EpC,KAAC,CAAC,6BAAD,CAAD,CAAiCS,IAAjC,CAAsC,gFAAtC;AACA,WAAO,KAAP;AACH;;AAED,MAAI4Q,WAAW,GAAGxJ,QAAQ,CAACuJ,MAA3B;;AACA,MAAIC,WAAW,CAACjP,MAAZ,IAAsB,CAA1B,EAA6B;AACzBpC,KAAC,CAAC,6BAAD,CAAD,CAAiCS,IAAjC,CAAsC,gFAAtC;AACA,WAAO,KAAP;AACH;;AAEDT,GAAC,CAAC,6BAAD,CAAD,CAAiCS,IAAjC,CAAsC,EAAtC;AACA4Q,aAAW,CAACxO,OAAZ,CAAoB,UAACnB,KAAD,EAAW;AAC3B,QAAI2B,IAAI,GAAG,EAAX;AAAA,QACIqO,GAAG,GAAGhQ,KAAK,CAAC+P,GADhB;AAEApO,QAAI,IAAI,2CAAR;AACAA,QAAI,IAAI,0BAAR,CAJ2B,CAK3B;;AACAA,QAAI,oCAAiCqO,GAAjC,aAAJ;AACArO,QAAI,IAAI,aAAR;AACArD,KAAC,CAAC,6BAAD,CAAD,CAAiCiR,MAAjC,CAAwC5N,IAAxC;AAEA,QAAIyX,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;;AAEA,QAAMiR,CAAC,GAAG/C,WAAW,CAAC,2BAAD,EAA8B,sBAA9B,EAAsD;AACvE6I,WAAK,EAAE6E,OAAO,CAAC5U,EADwD;AAEvEwL,SAAG,EAAEA;AAFkE,KAAtD,CAAX,CAGPhD,IAHO,CAGF,UAAA1F,IAAI,EAAI;AACZ,UAAImH,CAAC,GAAG5I,IAAI,CAACO,KAAL,CAAWkB,IAAI,CAACnI,CAAhB,CAAR;AACA,UAAIb,CAAC,CAAC+Q,aAAF,CAAgBZ,CAAhB,CAAJ,EACI,OAAO,KAAP;AAEJnQ,OAAC,WAAS0R,GAAT,CAAD,CAAiBjR,IAAjB,CAAsB,EAAtB;AACA0P,OAAC,CAACtN,OAAF,CAAU,UAACnB,KAAD,EAAQC,KAAR,EAAkB;AACxB3B,SAAC,WAAS0R,GAAT,CAAD,CAAiBT,MAAjB,8DAA+EtP,KAAK,GAAG,CAAvF,WAA8FD,KAAK,CAACuM,IAApG;AACH,OAFD;AAGH,KAZS,CAAV;AAcH,GA1BD;AA4BH;;AAEM,SAASjD,eAAT,CAAyBhC,IAAzB,EAA+B;AAClCyY,UAAQ,GAAGzY,IAAX;AACA0Y,gBAAc,CAACD,QAAD,EAAW,CAAX,CAAd;AACAzhB,GAAC,CAAC,aAAD,CAAD,CAAiBohB,KAAjB,CAAuB,QAAvB;AACH;;AACD,IAAIK,QAAQ,GAAG,IAAf;AAAA,IACIE,YAAY,GAAG,EADnB;;AAGA,IAAID,cAAc,GAAG,SAAjBA,cAAiB,CAAU7gB,CAAV,EAAa+gB,KAAb,EAAoB;AACrC,MAAIC,WAAW,GAAGhhB,CAAC,CAACihB,SAAF,CAAYF,KAAZ,CAAlB;;AACA,MAAIC,WAAJ,EAAiB;AACb7hB,KAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuB,EAAvB;AACA,QAAI2F,GAAG,GAAG,oCAAoCwb,KAApC,GAA4C,IAAtD;AACAxb,OAAG,IAAI,kCAAP;AACAA,OAAG,IAAI,+BAA+Bwb,KAAK,GAAG,CAAvC,IAA4C,MAA5C,GAAqDH,QAAQ,CAACK,SAAT,CAAmB1f,MAAxE,GAAiF,QAAxF;AACAgE,OAAG,IAAI,mBAAP;AACAA,OAAG,IAAI,sDAAP;AACAA,OAAG,IAAI,uBAAP;AACAA,OAAG,IAAI,kBAAkByb,WAAW,CAACxU,OAA9B,GAAwC,OAA/C;AACAjH,OAAG,IAAI,YAAP;AACAA,OAAG,IAAI,SAAP;AACAA,OAAG,IAAI,QAAP;AACAA,OAAG,IAAI,mBAAP;AACAA,OAAG,IAAI,sDAAP;AACAA,OAAG,IAAI,uBAAP;AACAA,OAAG,IAAI,sCAAsCyb,WAAW,CAAC3b,EAAlD,GAAuD,IAAvD,GAA8D2b,WAAW,CAAC7e,IAA1E,GAAiF,OAAxF;AACAoD,OAAG,IAAI,YAAP;AACAA,OAAG,IAAI,QAAP;AACAA,OAAG,IAAI,QAAP;AACAA,OAAG,IAAI,mBAAP;AACAA,OAAG,IAAI,sDAAP;AACA,QAAI2b,IAAI,GAAGF,WAAW,CAACG,OAAvB;AACA5b,OAAG,IAAIwb,KAAK,GAAG,CAAR,GAAY,+GAAZ,GAA8H,EAArI;AACAG,QAAI,CAAClf,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeogB,IAAf,EAAwB;AACjC3b,SAAG,IAAI,sFAAsF1E,KAAK,CAACwE,EAA5F,GAAiG,IAAjG,GAAwGxE,KAAK,CAACsB,IAA9G,GAAqH,iBAA5H;AAEH,KAHD;AAIAoD,OAAG,IAAI,0BAAP;AACH,GA5BD,MA6BK;AACD,QAAIA,GAAG,GAAG,8CAAV;AACA6G,kBAAc,CAACa,OAAf,CAAuB,aAAvB,EAAsC,IAAtC;AACA9N,KAAC,CAAC,WAAD,CAAD,CAAeiB,IAAf;AACH;;AACDjB,GAAC,CAAC,cAAD,CAAD,CAAkBS,IAAlB,CAAuB2F,GAAvB,EAA4BmM,QAA5B,CAAqC,aAArC;AACH,CArCD;;AAuCA,IAAIqJ,QAAQ,GAAG,SAAXA,QAAW,CAAU1V,EAAV,EAAc;AAEzB,MAAIkX,MAAM,GAAGxJ,QAAQ,CAAC5T,CAAC,CAAC,eAAD,CAAD,CAAmByC,IAAnB,CAAwB,IAAxB,CAAD,CAArB;;AACA,MAAIyD,EAAE,KAAK,MAAX,EAAmB;AACfwb,kBAAc,CAACD,QAAD,EAAYrE,MAAM,GAAG,CAArB,CAAd;AACA,QAAIja,GAAG,GAAG;AACN8e,UAAI,EAAEjiB,CAAC,CAAC,WAAD,CAAD,CAAeyC,IAAf,CAAoB,IAApB,CADA;AAENyf,UAAI,EAAEhc,EAAE,CAAC1E,KAAH,CAAS,GAAT,EAAc,CAAd;AAFA,KAAV;AAIA,QAAImgB,YAAY,CAACvE,MAAD,CAAhB,EACIuE,YAAY,CAACvE,MAAD,CAAZ,GAAuBja,GAAvB,CADJ,KAGIwe,YAAY,CAAC5e,IAAb,CAAkBI,GAAlB;AACP,GAVD,MAWK;AACDue,kBAAc,CAACD,QAAD,EAAYrE,MAAM,GAAG,CAArB,CAAd;AACA,QAAI+E,OAAO,GAAGR,YAAY,CAACvE,MAAM,GAAG,CAAV,CAA1B;AACA,QAAI8E,IAAI,GAAGC,OAAO,CAACD,IAAnB;AACAliB,KAAC,CAAC,UAAUkiB,IAAX,CAAD,CAAkB3P,QAAlB,CAA2B,QAA3B;AACH;AAEJ,CArBD,C,CAyBA;;;AACO,SAASgI,OAAT,GAAmB;AACtB,MAAI3R,OAAO,GAAG,EAAd;AACA,MAAIkS,OAAO,GAAG/N,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAd;AACA0J,SAAO,CAACqN,KAAR,GAAgB6E,OAAO,CAAC5U,EAAxB;AAEA,MAAImb,MAAM,GAAGrhB,CAAC,CAAC,UAAD,CAAD,CAAciD,GAAd,EAAb;;AACA,MAAIoe,MAAM,IAAI,EAAd,EAAkB;AACde,SAAK,CAAC,qBAAD,CAAL;AACA;AACH;;AACDxZ,SAAO,CAACyY,MAAR,GAAiBA,MAAjB;AACAzY,SAAO,CAAC6W,OAAR,GAAkBzf,CAAC,CAAC,QAAD,CAAD,CAAYiD,GAAZ,EAAlB;AACA8J,MAAI,CAACpN,UAAL,CAAgB,cAAhB,EAAgCiJ,OAAhC;AACAqE,gBAAc,CAACa,OAAf,CAAuB,YAAvB,EAAqC,IAArC;AACA9N,GAAC,CAAC,cAAD,CAAD,CAAkBiB,IAAlB;AACH,C,CAED;;;AACO,SAASyJ,kBAAT,CAA4B1B,IAA5B,EAAkC;AACrC,MAAIA,IAAI,KAAK,IAAb,EAAmB;AACf6R,aAAS,CAAC,EAAD,CAAT;AACA7a,KAAC,CAAC,UAAD,CAAD,CAAciD,GAAd,CAAkB,EAAlB;AACAjD,KAAC,CAAC,QAAD,CAAD,CAAYiD,GAAZ,CAAgB,EAAhB;AACH,GAJD,MAKKmf,KAAK,CAAC,wBAAD,CAAL;AACR,C,CAED;;;AACO,SAAS5H,YAAT,GAAwB;AAC3Bxa,GAAC,CAAC,UAAD,CAAD,CAAciD,GAAd,CAAkB,EAAlB;AACAjD,GAAC,CAAC,QAAD,CAAD,CAAYiD,GAAZ,CAAgB,EAAhB;AACH,C,CAED;;;AACA,SAASqY,SAAT,GAAqB;AACjB,MAAI+G,SAAS,GAAGriB,CAAC,CAAC,QAAD,CAAD,CAAYyC,IAAZ,CAAiB,WAAjB,CAAhB;AACAwY,SAAO,CAACC,SAAR,GAAqBmH,SAAS,GAAGlH,KAAK,CAACzZ,KAAN,CAAYU,MAA7C;AACH,C,CAED;;;AACO,SAASqY,eAAT,CAAyBtX,GAAzB,EAA8B+C,EAA9B,EAAkCoc,KAAlC,EAAyC;AAC5C;AACA,MAAIhK,KAAK,GAAGvL,IAAI,CAACnN,SAAL,CAAe,kBAAf,CAAZ;;AACA,MAAI0Y,KAAK,IAAI5V,SAAb,EAAwB;AACpBgY,qBAAiB,CAACxU,EAAD,EAAK/C,GAAG,CAAC+C,EAAT,EAAaoc,KAAb,EAAoB,IAApB,CAAjB;AACAriB,YAAQ,CAACyL,MAAT,GAAkB,uBAAuBvI,GAAG,CAAC+C,EAA7C;AACH,GAHD,MAIK;AACDwU,qBAAiB,CAACxU,EAAD,EAAK/C,GAAG,CAAC+C,EAAT,EAAaoc,KAAb,EAAoBhK,KAApB,CAAjB;AACAvL,QAAI,CAAClN,SAAL,CAAe,kBAAf,EAAmCsD,GAAG,CAAC+C,EAAvC;AACH;AACJ,C,CAED;;;AACO,SAASwU,iBAAT,CAA2BvY,CAA3B,EAA8BogB,UAA9B,EAA0CD,KAA1C,EAAiDhK,KAAjD,EAAwD;AAC3D,MAAI1P,OAAO,GAAG,EAAd;AACAA,SAAO,CAAC0Z,KAAR,GAAgBA,KAAhB;AACA1Z,SAAO,CAACjH,KAAR,GAAgBQ,CAAhB;AACAyG,SAAO,CAAC2Z,UAAR,GAAqBA,UAArB;AACA3Z,SAAO,CAAC0P,KAAR,GAAgBA,KAAhB;AAEAvL,MAAI,CAACpN,UAAL,CAAgB,yBAAhB,EAA2CiJ,OAA3C;AAEH,C,CAED;;;AACO,SAAS+B,cAAT,CAAwB3B,IAAxB,EAA8B;AACjChJ,GAAC,CAAC2D,IAAF,CAAOqF,IAAP,EAAa,UAACrH,KAAD,EAAQD,KAAR,EAAkB;AAC3B1B,KAAC,CAAC,MAAM2B,KAAP,CAAD,CAAe0B,IAAf,CAAoB3B,KAApB;AACH,GAFD;AAGH;;AAGM,SAAS4J,0BAAT,CAAoCtC,IAApC,EAA0C;AAC7C,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,kCAAD,CAAD,CAAsCS,IAAtC,CAA2C,EAA3C;AACAT,KAAC,CAAC,8BAAD,CAAD,CAAkCgB,IAAlC;AACA,QAAIqC,IAAI,GAAG,EAAX;AACA2F,QAAI,CAACnG,OAAL,CAAa,UAACC,IAAD,EAAOnB,KAAP,EAAiB;AAC1B0B,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACuK,OAAxE,GAAkF,WAAlF,GAAgGvK,IAAI,CAAC0f,KAArG,GAA6G,WAA7G,GAA2H1f,IAAI,CAAC2c,OAAhI,GAA0I,YAAlJ;AACH,KAFD;AAGAzf,KAAC,CAAC,8BAAD,CAAD,CAAkCS,IAAlC,CAAuC4C,IAAvC;AACH,GARD,MAUIrD,CAAC,CAAC,kCAAD,CAAD,CAAsCS,IAAtC,CAA2C,gFAA3C;AACP;;AAEM,SAAS8K,WAAT,CAAqBvC,IAArB,EAA2B;AAE9B,MAAIA,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,mBAAD,CAAD,CAAuBS,IAAvB,CAA4B,EAA5B;AACAT,KAAC,CAAC,eAAD,CAAD,CAAmBgB,IAAnB;AACA,QAAIqC,IAAI,GAAG,EAAX;AACA2F,QAAI,CAACnG,OAAL,CAAa,UAACC,IAAD,EAAOnB,KAAP,EAAiB;AAC1B0B,UAAI,IAAI,wCAAwC1B,KAAK,GAAG,CAAhD,IAAqD,WAArD,GAAmEmB,IAAI,CAACE,IAAxE,GAA+E,WAA/E,GAA6FF,IAAI,CAAC8Z,IAAlG,GAAyG,WAAzG,GAAuH9Z,IAAI,CAAC2f,QAA5H,GAAuI,WAAvI,GAAqJ3f,IAAI,CAAC4f,KAA1J,GAAkK,WAAlK,GAAgL5f,IAAI,CAAC6f,KAArL,GAA6L,YAArM;AACH,KAFD;AAGA3iB,KAAC,CAAC,eAAD,CAAD,CAAmBS,IAAnB,CAAwB4C,IAAxB;AACH,GARD,MAUIrD,CAAC,CAAC,mBAAD,CAAD,CAAuBS,IAAvB,CAA4B,gFAA5B;AACP;;AAEM,SAAS+K,qCAAT,CAA+CxC,IAA/C,EAAqD;AAExD,MAAIoE,WAAW;AAAA;AAAA;AAAA,4BAAG,kBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf;;AAkBA,MAAIwV,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAU;AACrB,QAAIA,IAAI,IAAIA,IAAI,CAACzgB,MAAL,GAAc,CAA1B,EACI,OAAOygB,IAAI,CAACtS,GAAL,CAAS,UAAApO,CAAC;AAAA,sBAAWA,CAAC,CAACoP,OAAb;AAAA,KAAV,EAAuCuR,IAAvC,CAA4C,GAA5C,CAAP;AACJ,WAAO,cAAP;AACH,GAJD;;AAMA,MAAI9Z,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EAAqB;AACjBpC,KAAC,CAAC,0BAAD,CAAD,CAA8BS,IAA9B,CAAmC,EAAnC,EADiB,CAEjB;;AACA,QAAI4C,IAAI,GAAG,EAAX;AACA2F,QAAI,CAACnG,OAAL,CAAa,UAACC,IAAD,EAAOnB,KAAP,EAAiB;AAC1B,UAAIohB,CAAC,yJAGPjgB,IAAI,CAACkgB,IAHE,6cAKPlgB,IAAI,CAACmgB,YALE,0kBAOPngB,IAAI,CAACogB,KAPE,g4BASPpgB,IAAI,CAACqgB,KATE,8vCAWPrgB,IAAI,CAACsgB,KAXE,0uBAaPtgB,IAAI,CAACugB,iBAbE,quBAeNvgB,IAAI,CAACwgB,eAAL,IAAwB,IAAxB,GAA+B,cAA/B,GAAgDxgB,IAAI,CAACwgB,eAf/C,mIAmBiDxgB,IAAI,CAACwO,EAnBtD,iFAmB8HxO,IAAI,CAACwO,EAnBnI,iEAmB6LxO,IAAI,CAACwO,EAnBlM,yIAuByBxO,IAAI,CAACwO,EAvB9B,sCAAL;AA4BAtR,OAAC,CAAC,8BAAD,CAAD,CAAkCiR,MAAlC,CAAyC8R,CAAzC;AACH,KA9BD;AAgCA/iB,KAAC,CAAC,oBAAD,CAAD,CAAwB2a,KAAxB,CAA8B,UAAU7R,CAAV,EAAa;AACvCA,OAAC,CAACya,cAAF;AACA,UAAInG,MAAM,GAAGtU,CAAC,CAACyF,aAAF,CAAgBrI,EAA7B;AAAA,UACIsd,EAAE,GAAGzW,IAAI,CAAC7N,QAAL,CAAc,KAAd,CADT;AAEA,UAAI,CAACke,MAAL,EACI;;AACJ,UAAIlX,EAAE,GAAGkX,MAAM,CAAC5b,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAT;AAAA,UACImM,OAAO,GAAGP,WAAW,CAAC,2BAAD,EAA8B,oCAA9B,EAAoE;AAAE6I,aAAK,EAAEuN,EAAE,CAACtd,EAAZ;AAAgBud,sBAAc,EAAEvd;AAAhC,OAApE,CAAX,CACLwI,IADK,CACA,UAAA7G,QAAQ,EAAI;AACd,YAAI6b,YAAY,GAAGnc,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAnB;;AACA,YAAI6iB,YAAY,IAAIA,YAAY,CAACthB,MAAb,GAAsB,CAA1C,EAA6C;AACzCpC,WAAC,qBAAmBkG,EAAnB,CAAD,CAA0BzF,IAA1B,CAA+B,EAA/B;AACAijB,sBAAY,CAAC7gB,OAAb,CAAqB,UAACC,IAAD,EAAU;AAC3B,gBAAIigB,CAAC,kRAG3BjgB,IAAI,CAAC6gB,KAHsB,iaAK3B7gB,IAAI,CAAC8gB,IALsB,udAO3B9gB,IAAI,CAAC+gB,QAPsB,ulBAUvBjB,QAAQ,CAAC9f,IAAI,CAACghB,qBAAN,CAVe,uFAa3BhhB,IAAI,CAACihB,MAbsB,+2BAe3BjhB,IAAI,CAACkhB,QAfsB,wrBAiB3BlhB,IAAI,CAACmhB,iBAjBsB,wbAmB1BnhB,IAAI,CAACohB,YAAL,IAAqB,IAArB,GAA4B,cAA5B,GAA6CphB,IAAI,CAACohB,YAnBxB,0aAqB1BphB,IAAI,CAACqhB,gBAAL,IAAyB,IAAzB,GAAgC,cAAhC,GAAiDrhB,IAAI,CAACqhB,gBArB5B,oCAAL;AAyBAnkB,aAAC,qBAAmBkG,EAAnB,CAAD,CAA0B+K,MAA1B,CAAiC8R,CAAjC;AACH,WA3BD;AA4BH;AACJ,OAlCK,CADd;AAoCH,KA1CD;AA2CH,GA/ED,MAiFI/iB,CAAC,CAAC,0BAAD,CAAD,CAA8BS,IAA9B,CAAmC,gFAAnC;AACP,C;;;;;;;;;;;;;;;;;;AC1tCD;AACA,IAAI2jB,SAAS,GAAG,SAAZA,SAAY,CAAUC,KAAV,EAAiB;AAC7BrkB,GAAC,CAAC,iBAAD,CAAD,CAAqBskB,YAArB,CAAkC;AAC9BC,aAAS,EAAEF,KAAK,CAACzC,KADa;AAE9B4C,qBAAiB,EAAE,qCAFW;AAG9BC,iBAAa,EAAEC,MAAM,CAACC,kBAAP;AAHe,GAAlC,EAKI;AACI3jB,QAAI,EAAE,cAAUqjB,KAAV,EAAiB;AACnBO,UAAI,CAACP,KAAD,CAAJ;AACH;AAHL,GALJ,EAD6B,CAY7B;AACH,CAbD;;AAeA,IAAIO,IAAI,GAAG,SAAPA,IAAO,CAAU5b,IAAV,EAAgB;AACvB0b,QAAM,CAACG,UAAP,CAAkB7b,IAAlB;AACH,CAFD,C,CAGA;AAEA;;;AACA,IAAI0b,MAAM,GAAI,YAAY;AACtB,MAAM5X,GAAG,GAAG,2BAAZ;;AACA,MAAIC,IAAI,GAAG7D,mBAAO,CAAC,yCAAD,CAAlB,CAFsB,CAEgB;AAEtC;;;AACA,MAAIkE,WAAW;AAAA;AAAA;AAAA,4BAAG,iBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,UAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,gBADU,GACL;AACLC,sBAAM,EAAE,MADH;AAELC,uBAAO,EAAE;AACL,4BAAU,kBADL;AAEL,kCAAgB;AAFX;AAFJ,eADK;;AASd,kBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,wBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,kBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,qBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,qBAdQ;AAAA;AAAA,qBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAXR,WAAW;AAAA;AAAA;AAAA,KAAf;;AAkBA,MAAI0X,iBAAiB,GAAG,SAApBA,iBAAoB,CAACzX,OAAD,EAAU0X,IAAV,EAAgBC,GAAhB,EAAwB;AAC5C,QAAI5e,GAAG,GAAG,EAAV;AACA,QAAI2e,IAAI,IAAI,IAAR,IAAgBC,GAAG,IAAI,IAA3B,EACI5e,GAAG,GAAGiH,OAAN,CADJ,KAEK;AACDjH,SAAG,IAAI,kCAAP;AACAA,SAAG,IAAI,0BAA0BiH,OAA1B,GAAoC,QAA3C;AACAjH,SAAG,IAAI,8CAA8C2e,IAA9C,GAAqD,QAA5D;AACA3e,SAAG,IAAI,8CAA8C4e,GAA9C,GAAoD,QAA3D;AACA5e,SAAG,IAAI,QAAP;AACH;AACD,WAAOA,GAAP;AACH,GAZD,CAvBsB,CAqCtB;;;AACA,MAAIwJ,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAC5B,QAAIE,SAAS,GAAG9P,CAAC,CAAC,8BAAD,CAAD,CAAkC+P,cAAlC,EAAhB;AAAA,QACIC,SAAS,GAAG,EADhB;AAAA,QAEIC,SAAS,GAAG,EAFhB;AAIAH,aAAS,CAACjN,OAAV,CAAkB,UAACC,IAAD,EAAU;AACxB,UAAI,CAACmN,SAAS,CAACC,QAAV,CAAmBpN,IAAI,CAACE,IAAxB,CAAD,IAAkCF,IAAI,CAACpB,KAAL,IAAc,EAApD,EACIuO,SAAS,CAAClN,IAAV,CAAeD,IAAI,CAACE,IAApB;AACP,KAHD;AAKAiN,aAAS,CAACpN,OAAV,CAAkB,UAACC,IAAD,EAAU;AACxB,UAAIqN,CAAC,GAAGL,SAAS,CAACM,MAAV,CAAiB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrN,IAAF,KAAWF,IAAf;AAAA,OAAlB,CAAR;;AACA,UAAIqN,CAAC,CAAC/N,MAAF,GAAW,CAAf,EAAkB;AACd,YAAIkO,MAAM,GAAGH,CAAC,CAACI,GAAF,CAAM,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAAC9O,KAAF,CAAQJ,OAAR,CAAgB,gBAAhB,EAAkC,IAAlC,CAAJ;AAAA,SAAP,CAAb;AACA0O,iBAAS,CAAClN,IAAD,CAAT,GAAkBwN,MAAlB;AACH,OAHD,MAIK;AACD,YAAIrN,GAAG,GAAGkN,CAAC,CAAC,CAAD,CAAD,CAAKzO,KAAf;AACAsO,iBAAS,CAAClN,IAAD,CAAT,GAAkBG,GAAG,CAAC3B,OAAJ,CAAY,gBAAZ,EAA8B,IAA9B,CAAlB;AACH;AACJ,KAVD;AAWA,WAAO0O,SAAP;AACH,GAtBD,CAtCsB,CA8DtB;;;AACA,MAAIiV,eAAe,GAAG,SAAlBA,eAAkB,CAAApd,QAAQ,EAAI;AAC9B,QAAI2I,CAAC,GAAGjJ,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAR;;AACA,QAAIb,CAAC,CAAC+Q,aAAF,CAAgBP,CAAhB,KAAsBA,CAAC,CAACW,QAAxB,IAAoCX,CAAC,CAACoR,KAAF,IAAW,CAAnD,EAAsD;AAClD5hB,OAAC,CAAC,eAAD,CAAD,CAAmBiB,IAAnB;AACAjB,OAAC,CAAC,iBAAD,CAAD,CAAqBgB,IAArB;AAEA+L,UAAI,CAACxN,qBAAL;AAEA,aAAO,KAAP;AACH;;AAEDS,KAAC,CAAC,iBAAD,CAAD,CAAqBiB,IAArB;AACAjB,KAAC,CAAC,eAAD,CAAD,CAAmBgB,IAAnB;;AAEAkkB,eAAW,CAAC1U,CAAD,CAAX;;AACA4T,aAAS,CAAC5T,CAAD,CAAT;AAEAzD,QAAI,CAACxN,qBAAL;AACH,GAlBD,CA/DsB,CAmFtB;;;AACA,MAAI2lB,WAAW,GAAG,SAAdA,WAAc,CAACrd,QAAD,EAAc;AAC5B,QAAI1E,GAAG,GAAG0E,QAAQ,CAACsd,OAAnB;AAAA,QACIvD,KAAK,GAAG/Z,QAAQ,CAAC+Z,KADrB;AAAA,QAEIwD,YAAY,GAAGnY,cAAc,CAACC,OAAf,CAAuB,OAAvB,CAFnB;AAAA,QAGI9G,GAAG,GAAG,EAHV;AAAA,QAIAif,QAAQ,GAAGxd,QAAQ,CAACwd,QAJpB;;AAMA,QAAI,CAACD,YAAL,EAAmB;AACfnY,oBAAc,CAACa,OAAf,CAAuB,OAAvB,EAAgC8T,KAAhC;AACA5hB,OAAC,CAAC,WAAD,CAAD,CAAeqD,IAAf,CAAoB,kCAAkCue,KAAtD;AACH,KAHD,MAIK,IAAIwD,YAAY,GAAGxD,KAAnB,EACD5hB,CAAC,CAAC,WAAD,CAAD,CAAeqD,IAAf,CAAoB,kCAAkC+hB,YAAlC,GAAiD,iBAAjD,GAAqExD,KAAzF,EADC,KAEA,IAAIwD,YAAY,IAAIxD,KAApB,EACD5hB,CAAC,CAAC,WAAD,CAAD,CAAeqD,IAAf,CAAoB,kCAAkCue,KAAtD,EADC,KAGD5hB,CAAC,CAAC,WAAD,CAAD,CAAeqD,IAAf,CAAoB,kCAAkCue,KAAtD;;AAEJ,QAAIyD,QAAJ,EAAc;AACVrlB,OAAC,CAAC,wBAAD,CAAD,CAA4BiB,IAA5B;AACAjB,OAAC,CAAC,UAAD,CAAD,CAAciB,IAAd;AACAjB,OAAC,CAAC,eAAD,CAAD,CAAmBS,IAAnB,CAAwB2F,GAAxB;AAEAif,cAAQ,CAACxiB,OAAT,CAAiB,UAAAC,IAAI,EAAI;AAErB,YAAIsD,GAAG,yGAETtD,IAAI,CAACyO,OAAL,KAAiB,GAAjB,GAAuBzO,IAAI,CAACyO,OAA5B,GAAqC,EAF5B,oEAKZ+T,yBAAyB,CAACxiB,IAAI,CAACwO,EAAN,EAAUnO,GAAV,CALb,6BAAP;AASAnD,SAAC,CAAC,eAAD,CAAD,CAAmBiR,MAAnB,CAA0B7K,GAA1B;AACH,OAZD;AAaH,KAlBD,MAmBK;AACDpG,OAAC,CAAC,wBAAD,CAAD,CAA4BgB,IAA5B;AACAhB,OAAC,CAAC,UAAD,CAAD,CAAcgB,IAAd;AACA,UAAIukB,MAAM,GAAG,EAAb;AACAA,YAAM,CAACC,OAAP,GAAiB,CACb;AAAE,gBAAQ,OAAV;AAAmB,iBAAS,GAA5B;AAAiC,iBAAS;AAAE,wBAAc;AAAhB;AAA1C,OADa,EAEb;AAAE,gBAAQ,MAAV;AAAkB,iBAAS;AAA3B,OAFa,EAGb;AAAE,gBAAQ,KAAV;AAAiB,iBAAS,oBAA1B;AAAgD,uBAAe;AAA/D,OAHa,EAIb;AAAE,gBAAQ,MAAV;AAAkB,iBAAS,OAA3B;AAAoC,uBAAe;AAAnD,OAJa,EAKb;AAAE,gBAAQ,MAAV;AAAkB,iBAAS,mBAA3B;AAAgD,uBAAe;AAA/D,OALa,EAMb;AAAE,gBAAQ,IAAV;AAAgB,mBAAW;AAA3B,OANa,EAOb;AAAE,gBAAQ,KAAV;AAAiB,iBAAS,EAA1B;AAA8B,uBAAe,IAA7C;AAAmD,iBAAS;AAAE,wBAAc;AAAhB;AAA5D,OAPa,CAAjB;AASAD,YAAM,CAACE,IAAP,GAAc,EAAd;AAEAtiB,SAAG,CAACN,OAAJ,CAAY,UAACC,IAAD,EAAOnB,KAAP,EAAiB;AACzB,YAAI+jB,IAAI,GAAG;AACP/jB,eAAK,EAAEmB,IAAI,CAAC6iB,GADL;AAEP3iB,cAAI,EAAEF,IAAI,CAACE,IAAL,IAAa,IAAb,GAAoB,EAApB,GAAyB8hB,iBAAiB,CAAChiB,IAAI,CAACE,IAAN,EAAYF,IAAI,CAAC8iB,OAAjB,EAA0B9iB,IAAI,CAACkiB,GAA/B,CAFzC;AAGPa,aAAG,EAAE/iB,IAAI,CAAC+iB,GAAL,IAAY,IAAZ,GAAmB,WAAnB,GAAiC/iB,IAAI,CAAC+iB,GAAL,CAASrkB,KAAT,CAAe,GAAf,EAAoB4O,MAApB,CAA2B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,IAAI,EAAT;AAAA,WAA5B,EAAyCyS,IAAzC,CAA8C,OAA9C,CAH/B;AAIPlG,cAAI,EAAE9Z,IAAI,CAAC8Z,IAAL,IAAa,IAAb,GAAoB,WAApB,GAAkC9Z,IAAI,CAAC8Z,IAJtC;AAKPkJ,cAAI,EAAEhjB,IAAI,CAAC6f,KAAL,IAAc,IAAd,GAAqB,WAArB,GAAmC,iCAAiC7f,IAAI,CAAC6f,KAAtC,GAA8C,8BAA9C,GAA+E7f,IAAI,CAAC6f,KAApF,GAA4F,MAL9H;AAMPzc,YAAE,EAAEpD,IAAI,CAACoD,EANF;AAOPqK,aAAG,EAAGzN,IAAI,CAAC8Z,IAAL,CAAU/a,OAAV,CAAkB,aAAlB,KAAoC,CAAC,CAArC,GAAyC,0MAAzC,GAAsP;AAPrP,SAAX;AASA0jB,cAAM,CAACE,IAAP,CAAY1iB,IAAZ,CAAiB2iB,IAAjB;AACH,OAXD;AAYAK,YAAM,CAAC,iBAAD,CAAN,CAA0BC,QAA1B,CAAmCT,MAAnC;AAEA,UAAIU,SAAS,GAAGjS,IAAI,CAACkS,IAAL,CAAUtE,KAAK,GAAG/Z,QAAQ,CAACsd,OAAT,CAAiB/iB,MAAnC,CAAhB;AACApC,OAAC,CAAC,UAAD,CAAD,CAAcqD,IAAd,CAAmB,oBAAoB4iB,SAAvC;AAEH;AACJ,GAtED;;AAyEA,MAAIX,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACa,GAAD,EAAMhjB,GAAN,EAAc;AAC1C,QAAIgN,CAAC,GAAGhN,GAAG,CAACiN,MAAJ,CAAW,UAAAC,CAAC;AAAA,aAAIA,CAAC,CAAC+V,KAAF,IAAWD,GAAf;AAAA,KAAZ,CAAR;AAEA,QAAIpD,CAAC,s3BAAL;AAUA5S,KAAC,IAAIA,CAAC,CAACtN,OAAF,CAAU,UAAAC,IAAI,EAAI;AACnBigB,OAAC,6EACgDjgB,IAAI,CAACoD,EADrD,WAC4D4e,iBAAiB,CAAChiB,IAAI,CAACE,IAAN,EAAYF,IAAI,CAAC8iB,OAAjB,EAA0B9iB,IAAI,CAACkiB,GAA/B,CAD7E,sDAEsBliB,IAAI,CAAC+iB,GAAL,CAASrkB,KAAT,CAAe,GAAf,EAAoB4O,MAApB,CAA2B,UAAAC,CAAC;AAAA,eAAIA,CAAC,IAAI,EAAT;AAAA,OAA5B,EAAyCyS,IAAzC,CAA8C,OAA9C,CAFtB,kDAGsBhgB,IAAI,CAAC8Z,IAH3B,mDAIsB9Z,IAAI,CAAC6f,KAAL,IAAc,IAAd,GAAqB,WAArB,GAAmC,iCAAiC7f,IAAI,CAAC6f,KAAtC,GAA8C,8BAA9C,GAA+E7f,IAAI,CAAC6f,KAApF,GAA4F,MAJrJ,kBAAD;AAMH,KAPI,CAAL;AASAI,KAAC,sBAAD;AACA,WAAOA,CAAP;AAEH,GAzBD,CA7JsB,CAwLtB;AAEA;;;AACA,MAAItS,eAAe,GAAG,SAAlBA,eAAkB,CAAC3H,CAAD,EAAO;AACzBiE,QAAI,CAACzN,qBAAL;;AACA,QAAI0Q,SAAS,GAAGJ,mBAAmB,EAAnC;AAAA,QACIjC,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,YAAN,EAAoBkD,SAApB,CAAX,CAA0CtB,IAA1C,CAA+C,UAAA7G,QAAQ;AAAA,aAAIod,eAAe,CAACpd,QAAD,CAAnB;AAAA,KAAvD,EAAsF,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KAAzF,CADd;AAEH,GAJD,CA3LsB,CAiMtB;;;AACA,MAAIgC,cAAc,GAAG,SAAjBA,cAAiB,CAAC9H,CAAD,EAAO;AACxBiE,QAAI,CAACzN,qBAAL;AACAyN,QAAI,CAACrN,KAAL,CAAW,6BAAX;AACAM,KAAC,CAAC,UAAD,CAAD,CAAckD,IAAd,CAAmB,SAAnB,EAA8B,KAA9B;AACAlD,KAAC,CAAC,SAAD,CAAD,CAAakD,IAAb,CAAkB,SAAlB,EAA6B,KAA7B;;AAEA,QAAIyK,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,YAAN,EAAoB,EAApB,CAAX,CAAmC4B,IAAnC,CAAwC,UAAA7G,QAAQ;AAAA,aAAIod,eAAe,CAACpd,QAAD,CAAnB;AAAA,KAAhD,EAA+E,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KAAlF,CAAd;AACH,GAPD,CAlMsB,CA2MtB;;;AACA,MAAIyX,SAAS,GAAG,SAAZA,SAAY,CAACvd,CAAD,EAAO;AACnBA,KAAC,CAACya,cAAF;AACA,QAAI+C,GAAG,GAAGC,QAAQ,CAACC,MAAT,CAAgB1d,CAAC,CAACyF,aAAlB,CAAV;AAAA,QACI7M,KAAK,GAAG4kB,GAAG,CAACrjB,GAAJ,GAAUiD,EADtB;AAEA,QAAIlG,CAAC,CAACwS,KAAK,CAACuF,MAAP,CAAD,CAAgB0O,QAAhB,CAAyB,WAAzB,CAAJ,EACI9f,MAAM,CAACzC,QAAP,GAAkB,4BAA4BxC,KAA9C,CADJ,KAGIiF,MAAM,CAACzC,QAAP,GAAkB,wBAAwBxC,KAA1C;AACP,GARD,CA5MsB,CAsNtB;;;AACA,MAAIglB,WAAW,GAAG,SAAdA,WAAc,CAAC5d,CAAD,EAAO;AACrB,QAAI9I,CAAC,CAAC,MAAM8I,CAAC,CAACyF,aAAF,CAAgBrI,EAAvB,CAAD,CAA4BgW,EAA5B,CAA+B,UAA/B,CAAJ,EAAgD;AAC5Clc,OAAC,CAAC,UAAD,CAAD,CAAckD,IAAd,CAAmB,SAAnB,EAA8B,KAA9B;AACAlD,OAAC,CAAC,SAAD,CAAD,CAAakD,IAAb,CAAkB,SAAlB,EAA6B,KAA7B;AACAlD,OAAC,CAAC,MAAM8I,CAAC,CAACyF,aAAF,CAAgBrI,EAAvB,CAAD,CAA4BhD,IAA5B,CAAiC,SAAjC,EAA4C,IAA5C;AAEA,UAAI4F,CAAC,CAACyF,aAAF,CAAgBrI,EAAhB,KAAuB,SAA3B,EACIlG,CAAC,CAAC,eAAD,CAAD,CAAmBiD,GAAnB,CAAuB,GAAvB,EADJ,KAGI,IAAI6F,CAAC,CAACyF,aAAF,CAAgBrI,EAAhB,KAAuB,QAA3B,EACIlG,CAAC,CAAC,eAAD,CAAD,CAAmBiD,GAAnB,CAAuB,GAAvB;AACX,KAVD,MAYIjD,CAAC,CAAC,eAAD,CAAD,CAAmBiD,GAAnB,CAAuB,EAAvB;AACP,GAdD,CAvNsB,CAsOtB;AAEA;;;AACA,MAAI0O,IAAI,GAAG,SAAPA,IAAO,GAAM;AACb5E,QAAI,CAACzN,qBAAL;AACAyN,QAAI,CAACvN,2BAAL,GAFa,CAEuB;;AACpC,QAAImO,OAAO,GAAGP,WAAW,CAACN,GAAD,EAAM,YAAN,EAAoB,EAApB,CAAX,CAAmC4B,IAAnC,CAAwC,UAAA7G,QAAQ;AAAA,aAAIod,eAAe,CAACpd,QAAD,CAAnB;AAAA,KAAhD,EAA+E,UAAA+G,GAAG;AAAA,aAAIC,OAAO,CAAC1N,KAAR,2JAA8CyN,GAA9C,CAAJ;AAAA,KAAlF,CAAd;AACH,GAJD;;AAMA,SAAO;AACH;AACA+C,QAAI,EAAEA,IAFH;AAGHC,kBAAc,EAAEnB,eAHb;AAIHoB,iBAAa,EAAEjB,cAJZ;AAKHiU,cAAU,EAAEK,WALT;AAMHP,sBAAkB,EAAE/U,mBANjB;AAOH+W,YAAQ,EAAEN,SAPP;AAQHO,cAAU,EAAEF;AART,GAAP;AAUH,CAzPa,EAAd;;AA2PC,UAAS5U,IAAT,GAAgB;AACb9R,GAAC,CAAC,MAAD,CAAD,CAAU+R,MAAV,CAAiB,IAAjB;AAEA/R,GAAC,CAAC,cAAD,CAAD,CAAkBkO,EAAlB,CAAqB,OAArB,EAA8BwW,MAAM,CAAC9S,cAArC;AACA5R,GAAC,CAAC,aAAD,CAAD,CAAiBkO,EAAjB,CAAoB,OAApB,EAA6BwW,MAAM,CAAC7S,aAApC;AACA7R,GAAC,CAAC,iBAAD,CAAD,CAAqBkO,EAArB,CAAwB,OAAxB,EAAiC,IAAjC,EAAuCwW,MAAM,CAACiC,QAA9C;AACA3mB,GAAC,CAAC,uBAAD,CAAD,CAA2BkO,EAA3B,CAA8B,OAA9B,EAAuCwW,MAAM,CAACkC,UAA9C;AACAlC,QAAM,CAAC/S,IAAP;AACH,CARA,GAAD,C;;;;;;;;;;;;;;;;;QChOgBvG,S,GAAAA,S;;AAjDhB,IAAI2B,IAAI,GAAG7D,mBAAO,CAAC,yCAAD,CAAlB;;AAEAlJ,CAAC,CAACC,QAAD,CAAD,CAAYC,KAAZ,CAAkB,YAAY;AAC1BF,GAAC,CAAC,WAAD,CAAD,CAAe+O,OAAf,CAAuB;AACnBnI,aAAS,EAAE;AADQ,GAAvB,EAEG,GAFH;AAIA5G,GAAC,CAAC,MAAD,CAAD,CAAU6mB,MAAV,CAAiB,UAAU/d,CAAV,EAAa;AAC1Bge,WAAO,CAAChe,CAAD,CAAP;AACH,GAFD;AAIA9I,GAAC,CAAC,kBAAD,CAAD,CAAsBkO,EAAtB,CAAyB,OAAzB,EAAkC,UAAUpF,CAAV,EAAa;AAC3Cge,WAAO,CAAChe,CAAD,CAAP;AACH,GAFD;AAIA9I,GAAC,CAAC,gBAAD,CAAD,CAAoBkO,EAApB,CAAuB,OAAvB,EAAgC,UAAUpF,CAAV,EAAa;AACzC9I,KAAC,CAAC,2BAAD,CAAD,CAA+BiD,GAA/B,CAAmC,EAAnC;AAEA,QAAIhB,GAAG,GAAG,CAAC,YAAD,EAAe,aAAf,EAA8B,WAA9B,CAAV;AAEAA,OAAG,CAACY,OAAJ,CAAY,UAACnB,KAAD,EAAW;AACnB1B,OAAC,CAAC,MAAM0B,KAAP,CAAD,CAAe4Q,WAAf,CAA2B,MAA3B,EAAmCC,QAAnC,CAA4C,MAA5C;AACH,KAFD;AAGH,GARD;AAUH,CAvBD;;AAyBA,SAASuU,OAAT,CAAiBhe,CAAjB,EAAoB;AAChBA,GAAC,CAACya,cAAF;AACA,MAAI3a,OAAO,GAAG,EAAd;AAEAA,SAAO,CAACme,WAAR,GAAsB/mB,CAAC,CAAC,2BAAD,CAAD,CAA+BiD,GAA/B,EAAtB;AAEA8J,MAAI,CAACzN,qBAAL;AACAyN,MAAI,CAACpN,UAAL,CAAgB,SAAhB,EAA2BiJ,OAA3B;AACH;;AAED,SAASoe,OAAT,CAAiB7jB,GAAjB,EAAsB;AAElB,MAAIlB,GAAG,GAAG,CAAC,YAAD,EAAe,aAAf,EAA8B,WAA9B,CAAV;AAEAA,KAAG,CAACY,OAAJ,CAAY,UAACnB,KAAD,EAAW;AACnB,QAAIA,KAAK,KAAKyB,GAAd,EACInD,CAAC,CAAC,MAAMmD,GAAP,CAAD,CAAamP,WAAb,CAAyB,MAAzB,EAAiCC,QAAjC,CAA0C,MAA1C,EADJ,KAGIvS,CAAC,CAAC,MAAM0B,KAAP,CAAD,CAAe4Q,WAAf,CAA2B,MAA3B,EAAmCC,QAAnC,CAA4C,MAA5C;AACP,GALD;AAMH;;AAEM,SAASnH,SAAT,CAAmBpC,IAAnB,EAAyB;AAC5B,MAAIA,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKtG,SAA9B,EAAyC;AACrC1C,KAAC,CAAC,UAAD,CAAD,CAAcqD,IAAd,CAAmB,yDAAnB;AACA2jB,WAAO,CAAC,WAAD,CAAP;AACA;AACH;;AAED,MAAIhe,IAAI,CAACmI,QAAT,EAAmB;AACfnR,KAAC,CAAC,UAAD,CAAD,CAAcqD,IAAd,CAAmB2F,IAAI,CAACie,YAAxB;AACAD,WAAO,CAAC,WAAD,CAAP;AACA;AACH;;AAED,MAAIhe,IAAI,CAACie,YAAT,EAAuB;AACnBjnB,KAAC,CAAC,UAAD,CAAD,CAAcqD,IAAd,CAAmB2F,IAAI,CAACie,YAAxB;AACAD,WAAO,CAAC,aAAD,CAAP;AACA;AACH;;AAED,MAAIE,GAAG,GAAGle,IAAI,CAACoI,MAAf;AACA4V,SAAO,CAAC,YAAD,CAAP;AAEAhnB,GAAC,CAAC2D,IAAF,CAAOujB,GAAP,EAAY,UAACplB,GAAD,EAAMJ,KAAN,EAAgB;AACxB,QAAIyV,GAAG,GAAGnX,CAAC,CAAC,YAAD,CAAD,CAAgBsC,IAAhB,CAAqB,MAAMR,GAA3B,CAAV;AACA,QAAIqV,GAAG,CAAC/U,MAAJ,IAAc,CAAlB,EACIpC,CAAC,CAACmX,GAAD,CAAD,CAAOlW,IAAP,GADJ,KAGI,IAAIa,GAAG,KAAK,aAAZ,EACIJ,KAAK,GAAG,IAAIqK,IAAJ,CAASrK,KAAT,EAAgBylB,kBAAhB,EAAR;AACRnnB,KAAC,CAAC,MAAM8B,GAAN,GAAY,GAAb,CAAD,CAAmBuB,IAAnB,CAAwB3B,KAAxB;AACH,GARD;AASH,C;;;;;;;;;;;;;;;;;QC/BeqJ,iB,GAAAA,iB;QAoBAiH,Y,GAAAA,Y;;;;;;AArEhB,IAAIjF,IAAI,GAAG7D,mBAAO,CAAC,yCAAD,CAAlB;;AAEAlJ,CAAC,CAACC,QAAD,CAAD,CAAYC,KAAZ,CAAkB,YAAY;AAC1BF,GAAC,CAAC,WAAD,CAAD,CAAe+O,OAAf,CAAuB;AACnBnI,aAAS,EAAE;AADQ,GAAvB,EAEG,GAFH;AAGAwgB,mBAAiB;AAEjBpnB,GAAC,CAAC,0BAAD,CAAD,CAA8Boa,SAA9B;AACH,CAPD;AASA;;;;;;;AAMA,IAAIhN,WAAW;AAAA;AAAA;AAAA,0BAAG,iBAAO/M,GAAP,EAAYgN,OAAZ;AAAA,QAAqBC,IAArB,uEAA4B,IAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AACVC,cADU,GACL;AACLC,oBAAM,EAAE,MADH;AAELC,qBAAO,EAAE;AACL,0BAAU,kBADL;AAEL,gCAAgB;AAFX;AAFJ,aADK;;AASd,gBAAIH,IAAI,KAAK,IAAb,EAAmB;AACXvE,sBADW,GACAxB,IAAI,CAACC,SAAL,CAAe8F,IAAf,CADA;AAEfC,gBAAE,CAACD,IAAH,GAAU,mBAAmBvE,QAAnB,GAA8B,IAAxC;AAEH;;AAba;AAAA,mBAcQ2E,KAAK,CAACrN,GAAG,GAAGgN,OAAP,EAAgBE,EAAhB,CAdb;;AAAA;AAcRI,mBAdQ;AAAA;AAAA,mBAeDA,OAAO,CAACC,IAAR,EAfC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAXR,WAAW;AAAA;AAAA;AAAA,GAAf;;AAmBA,SAASga,iBAAT,GAA6B;AACzB,MAAIC,IAAI,GAAGta,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAX;;AACA,MAAImoB,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACC,KAAL,IAAc,IAAlC,EACA;AACIva,QAAI,CAACzN,qBAAL;AACAU,KAAC,CAAC,0BAAD,CAAD,CAA8BgB,IAA9B;AACA+L,QAAI,CAACpN,UAAL,CAAgB,mBAAhB,EAAqC0nB,IAArC;AACH,GALD,MAOIrnB,CAAC,CAAC,0BAAD,CAAD,CAA8BiB,IAA9B;AACP;;AAGM,SAAS8J,iBAAT,CAA2B/B,IAA3B,EAAiC;AACpC,MAAIoG,IAAI,GAAGpG,IAAI,CAACoG,IAAhB;AACA,MAAIsI,MAAM,GAAG,EAAb;AACA1X,GAAC,CAAC,eAAD,CAAD,CAAmBS,IAAnB,CAAwBuI,IAAI,CAACqG,WAA7B;AACArP,GAAC,CAAC,sBAAD,CAAD,CAA0BS,IAA1B,CAA+B2O,IAAI,CAAChN,MAAL,GAAc,cAA7C;AACAgN,MAAI,CAACvM,OAAL,CAAa,UAACnB,KAAD,EAAQC,KAAR,EAAeyN,IAAf,EAAwB;AACjCsI,UAAM,IAAI,oCAAoChW,KAAK,CAACwE,EAA1C,GAA+C,2CAAzD;AACAwR,UAAM,IAAI,2CAA2ChW,KAAK,CAACyS,KAAjD,GAAyD,OAAnE;AACAuD,UAAM,IAAI,gEAAgEhW,KAAK,CAAC2S,QAAtE,GAAiF,MAA3F;AACAqD,UAAM,IAAI,8CAA8ChW,KAAK,CAAC4S,IAApD,GAA2D,MAArE;AACAoD,UAAM,IAAI,iCAAiChW,KAAK,CAACwE,EAAvC,GAA4C,sDAAtD;AACH,GAND;AAQAlG,GAAC,CAAC,sBAAD,CAAD,CAA0BS,IAA1B,CAA+BiX,MAA/B;AAEH,C,CAGD;AACA;;;AACO,SAAS1F,YAAT,CAAsB9L,EAAtB,EAA0BsI,MAA1B,EAAkC;AACrC,MAAIyD,QAAQ,GAAGjS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBG,IAAtB,CAA2B,OAA3B,CAAf;AAAA,MACIyP,QAAQ,GAAGlS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBG,IAAtB,CAA2B,OAA3B,EAAoCZ,OAApC,CAA4C,CAAC2M,MAAD,GAAU,WAAV,GAAwB,YAApE,CADf;AAAA,MAEI2D,IAAI,GAAGF,QAAQ,CAAC1M,KAAT,CAAe2M,QAAf,EAAyBD,QAAQ,CAAC7P,MAAlC,CAFX;AAAA,MAGIgQ,MAAM,GAAGD,IAAI,CAACtQ,OAAL,CAAa,GAAb,CAHb;AAAA,MAIIwQ,SAAS,GAAGF,IAAI,CAAC5M,KAAL,CAAW,CAAX,EAAe6M,MAAM,IAAI,CAAC,CAAX,GAAeD,IAAI,CAAC/P,MAApB,GAA6BgQ,MAA5C,CAJhB;;AAMA,MAAI,CAAC5D,MAAL,EAAa;AACT,QAAI6D,SAAS,KAAK,eAAlB,EACIrS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,eAAlC,EAAmDC,QAAnD,CAA4D,cAA5D,EADJ,KAGIvS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,cAAlC,EAAkDC,QAAlD,CAA2D,eAA3D;AACJC,SAAK,CAACC,eAAN;AACH,GAND,MAOK;AACD,QAAIJ,SAAS,KAAK,eAAlB,EACIrS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,eAAlC,EAAmDC,QAAnD,CAA4D,iBAA5D,EADJ,KAGIvS,CAAC,CAAC,MAAMkG,EAAP,CAAD,CAAY5D,IAAZ,CAAiB,GAAjB,EAAsBgQ,WAAtB,CAAkC,iBAAlC,EAAqDC,QAArD,CAA8D,eAA9D;AACJvS,KAAC,CAAC,gBAAD,CAAD,CAAoB0S,MAApB,CAA2B,GAA3B;AACH;AACJ;;AAEDsG,KAAK,CAAC9Y,KAAN,CAAYyR,IAAZ;;AAEA,SAASA,IAAT,GAAgB;AAEZ,MAAIkB,KAAK,GAAG,IAAImG,KAAK,CAACrG,GAAV,CAAc,SAAd,EAAyB;AACjCsG,UAAM,EAAElM,IAAI,CAAClO,QAAL,EADyB;AAEjCqa,QAAI,EAAE,CAF2B;AAGjCqO,YAAQ,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,mBAAhC;AAHuB,GAAzB,EAIT;AACKpO,yBAAqB,EAAE;AAD5B,GAJS,CAAZ;AAAA,MAQIrG,aAAa,GAAG,IAAIkG,KAAK,CAACI,aAAV,CAAwB;AACpCC,cAAU,EAAE,KADwB;AAEpCC,YAAQ,EAAE,EAF0B;AAGpCC,2BAAuB,EAAE;AAHW,GAAxB,CARpB,CAFY,CAiBZ;;AACAzG,eAAa,CAACuF,QAAd,CAAuBxM,OAAvB,CAA+B0M,GAA/B,CAAmC,QAAnC,EAA6C,sCAA7C,EACI,oBADJ,EAC0B,OAD1B,EAEI,yBAFJ,EAE+B,MAF/B,EAGI,8BAHJ,EAGoC,OAHpC,EAII,gCAJJ,EAIsC,OAJtC,EAKI,UALJ,EAKgB,IALhB,EAMI,yBANJ,EAM+B,MAN/B,EAlBY,CA0BZ;;AACAvY,GAAC,CAAC,sBAAD,CAAD,CAA0BkO,EAA1B,CAA6B,OAA7B,EAAsC,UAAUpF,CAAV,EAAa;AAC/C,QAAI5C,EAAE,GAAGlG,CAAC,CAAC8I,CAAC,CAACiP,MAAH,CAAD,CAAYyP,OAAZ,CAAoB,OAApB,EAA6B/kB,IAA7B,CAAkC,IAAlC,CAAT;AACA,QAAIyV,WAAW,GAAGpF,aAAa,CAACqF,cAAd,CAA6BjS,EAA7B,CAAlB;;AAEA,QAAIgS,WAAW,CAACE,WAAhB,EAA6B;AACzBtF,mBAAa,CAACuF,QAAd,CAAuBC,KAAvB,CAA6BC,GAA7B,CAAiC,cAAjC,EAAiDzF,aAAa,CAAC0F,OAAd,CAAsBC,OAAtB,CAA8BvS,EAA9B,CAAjD;AACA4M,mBAAa,CAACuF,QAAd,CAAuBK,OAAvB,CAA+BC,IAA/B,CAAoCT,WAAW,CAACU,OAAZ,CAAoB1S,EAAxD;AACH,KAHD,MAGO;AACH4M,mBAAa,CAAC0F,OAAd,CAAsBE,OAAtB,CAA8BC,IAA9B,CAAmCzS,EAAnC;AACH;AACJ,GAVD;AAcA,MAAImhB,IAAI,GAAGta,IAAI,CAAC7N,QAAL,CAAc,KAAd,CAAX;AACA,MAAI6J,QAAQ,GAAGxB,IAAI,CAACC,SAAL,CAAe6f,IAAf,CAAf;AACAta,MAAI,CAACzN,qBAAL;AACAU,GAAC,CAACI,IAAF,CAAO;AACHM,QAAI,EAAE,MADH;AAEHL,OAAG,EAAE,4CAFF;AAGHG,QAAI,EAAE,mBAAmBuI,QAAnB,GAA8B,IAHjC;AAIHnI,eAAW,EAAE,iCAJV;AAKHD,YAAQ,EAAE,MALP;AAMHJ,WAAO,EAAE,iBAAUsH,QAAV,EAAoB;AACzB,UAAImB,IAAI,GAAGzB,IAAI,CAACO,KAAL,CAAWD,QAAQ,CAAChH,CAApB,CAAX;AACA,UAAIuO,IAAI,GAAGpG,IAAI,CAACoG,IAAhB;AACA,UAAIqY,SAAS,GAAG;AACZ9Q,cAAM,EAAE,CADI;AAEZC,eAAO,EAAE,CAFG;AAGZC,aAAK,EAAC;AAHM,OAAhB;AAKAzH,UAAI,CAACvM,OAAL;AAAA;AAAA;AAAA,gCAAa,kBAAOnB,KAAP,EAAcC,KAAd,EAAqByN,IAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACLsG,qBADK,GACCC,UAAU,CAACjU,KAAK,CAACkU,QAAP,CADX;AAELC,sBAFK,GAEEF,UAAU,CAACjU,KAAK,CAACoU,SAAP,CAFZ;;AAAA,wBAGL,cAAcpU,KAAd,IAAuB,eAAeA,KAAtC,IAA+CgU,GAA/C,IAAsDG,IAAtD,IAA8DH,GAAG,GAAG,EAApE,IAA0EG,IAAI,GAAG,GAH5E;AAAA;AAAA;AAAA;;AAIL6R,4BAAU,CAAChmB,KAAD,EAAQ,CAACA,KAAK,CAACoU,SAAP,EAAkBpU,KAAK,CAACkU,QAAxB,CAAR,EAA2C6R,SAA3C,EAAsD9lB,KAAtD,CAAV;AAJK;AAAA;;AAAA;AAAA;AAAA,yBAMCgmB,OAAO,CAACjmB,KAAD,EAAQC,KAAR,EAAe8lB,SAAf,CANR;;AAAA;AAQT,sBAAI9lB,KAAK,IAAIyN,IAAI,CAAChN,MAAL,GAAc,CAA3B,EAA8B;AACtBf,yBADsB;AAEtBqV,+BAFsB,GAER3J,IAAI,CAAClO,QAAL,EAFQ;AAG1B,wBAAI6X,WAAW,CAAC,CAAD,CAAX,IAAkBA,WAAW,CAAC,CAAD,CAAjC,EACIrV,KAAK,GAAGqV,WAAR,CADJ,KAGIrV,KAAK,GAAG,CAAComB,SAAS,CAAC7Q,OAAV,GAAoB6Q,SAAS,CAAC5Q,KAA/B,EAAsC4Q,SAAS,CAAC9Q,MAAV,GAAmB8Q,SAAS,CAAC5Q,KAAnE,CAAR;AACJ,wBAAI4Q,SAAS,CAAC5Q,KAAd,EACIhE,KAAK,CAAC2D,SAAN,CAAgB,CAACnV,KAAK,CAAC,CAAD,CAAN,EAAWA,KAAK,CAAC,CAAD,CAAhB,CAAhB,EAAsC,CAAtC,EAAyC;AACrCoV,oCAAc,EAAE;AADqB,qBAAzC;AAGP;;AAnBQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAb;;AAAA;AAAA;AAAA;AAAA;AAsBA,UAAIzN,IAAI,CAAC5G,MAAL,GAAc,CAAlB,EACIsZ,UAAU,CAAC,YAAY;AACnB7I,aAAK,CAAC+U,SAAN,CAAgB/U,KAAK,CAAC8G,UAAN,CAAiBkO,SAAjB,EAAhB;AACH,OAFS,EAEP,IAFO,CAAV;AAIJ9a,UAAI,CAACxN,qBAAL;AACH,KA1CE;AA2CH4B,SAAK,EAAE,eAAU2mB,OAAV,EAAmB3mB,MAAnB,EAA0B;AAC7BihB,WAAK,CAAC,OAAD,CAAL;AACH;AA7CE,GAAP;;AAgDA,WAASsF,UAAT,CAAoBte,GAApB,EAAyBoL,QAAzB,EAAmCiT,SAAnC,EAA8ChT,GAA9C,EAAmD;AAC/C,QAAID,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAApB,IAA2BA,QAAQ,CAAC,CAAD,CAAvC,EAA4C;AACxC,UAAIA,QAAQ,CAAC,CAAD,CAAZ,EACIiT,SAAS,CAAC9Q,MAAV,IAAoBhB,UAAU,CAACnB,QAAQ,CAAC,CAAD,CAAT,CAA9B;AACJ,UAAIA,QAAQ,CAAC,CAAD,CAAZ,EACIiT,SAAS,CAAC7Q,OAAV,IAAqBjB,UAAU,CAACnB,QAAQ,CAAC,CAAD,CAAT,CAA/B;AACJiT,eAAS,CAAC5Q,KAAV;AACH;;AACD/D,iBAAa,CAACoD,GAAd,CAAkB6R,oBAAoB,CAAC3e,GAAD,EAAMoL,QAAN,EAAgBC,GAAhB,CAAtC;AACA5B,SAAK,CAAC8G,UAAN,CAAiBzD,GAAjB,CAAqBpD,aAArB;AACH;;AAED,WAAS6U,OAAT,CAAiBve,GAAjB,EAAsBqL,GAAtB,EAA2BgT,SAA3B,EAAsC;AAClC,QAAI3lB,GAAG,GAAGiL,IAAI,CAAC/N,SAAL,EAAV;AAAA,QACAqB,GAAG,GAAG,gDAAgDyB,GAAhD,GAAqD,uBAArD,GAA+EyF,IAAI,CAACC,SAAL,CAAe4B,GAAG,CAACiL,QAAnB,CADrF;AAEA,QAAI2B,IAAI,GAAGhW,CAAC,CAACgoB,GAAF,CAAM3nB,GAAN,EAAW,UAAUG,IAAV,EAAgB;AAClC,UAAIgU,QAAQ,GAAGhU,IAAI,CAACqH,QAAL,CAAcwL,mBAAd,CAAkCC,aAAlC,CAAgD,CAAhD,EAAmDC,SAAnD,CAA6DC,KAA7D,CAAmEC,GAAnE,CAAuEjS,KAAvE,CAA6E,GAA7E,CAAf;;AACA,UAAIgT,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAApB,IAA2BA,QAAQ,CAAC,CAAD,CAAvC,EAA4C;AACxCiT,iBAAS,CAAC9Q,MAAV,IAAoBhB,UAAU,CAACnB,QAAQ,CAAC,CAAD,CAAT,CAA9B;AACAiT,iBAAS,CAAC7Q,OAAV,IAAqBjB,UAAU,CAACnB,QAAQ,CAAC,CAAD,CAAT,CAA/B;AACAiT,iBAAS,CAAC5Q,KAAV;AACH;;AACD/D,mBAAa,CAACoD,GAAd,CAAkB6R,oBAAoB,CAAC3e,GAAD,EAAMoL,QAAN,EAAgBC,GAAhB,CAAtC;AACA5B,WAAK,CAAC8G,UAAN,CAAiBzD,GAAjB,CAAqBpD,aAArB;;AAEA1F,iBAAW,CAAC,2BAAD,EAA8B,sBAA9B,EAAsD;AAC7D6I,aAAK,EAAE7M,GAAG,CAAClD,EADkD;AAE7D0P,gBAAQ,EAAEpB,QAAQ,CAAC,CAAD,CAF2C;AAG7DsB,iBAAS,EAAEtB,QAAQ,CAAC,CAAD;AAH0C,OAAtD,CAAX;AAKH,KAfU,EAeRyT,KAfQ,CAeF,UAAAnR,CAAC,EAAI;AAAEjI,aAAO,CAAC1N,KAAR,CAAc,+DAA+DoG,IAAI,CAACO,KAAL,CAAWgP,CAAC,CAACoR,YAAb,EAA2BC,OAAxG;AAAkH,KAfvH,CAAX;AAgBA,WAAOnS,IAAP;AACH;;AAED,WAASoS,0BAAT,CAAoChf,GAApC,EAAyCoL,QAAzC,EAAmDC,GAAnD,EAAwD;AACpD,QAAI4T,UAAU,GAAG,EAAjB;AACAA,cAAU,CAACtlB,IAAX,CAAgBglB,oBAAoB,EAApC;AAEA,QAAI5kB,GAAG,GAAG,EAAV;AACAA,OAAG,CAACzC,IAAJ,GAAW,mBAAX;AACAyC,OAAG,CAACmlB,QAAJ,GAAeD,UAAf;AACA,WAAOllB,GAAP;AACH;;AAED,WAASolB,QAAT,CAAkB5U,KAAlB,EAAyB;AACrB,QAAIzN,EAAE,GAAG0N,QAAQ,CAACD,KAAD,CAAjB;AACA,QAAIE,QAAQ,GAAG,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAA7C,EAAwD,SAAxD,EACX,SADW,EACA,SADA,EACW,SADX,EACsB,SADtB,EAEX,SAFW,EAEA,SAFA,EAEW,SAFX,EAEsB,SAFtB,EAEiC,SAFjC,EAGX,SAHW,EAGA,SAHA,EAGW,SAHX,EAGsB,SAHtB,EAGiC,SAHjC,EAIX,SAJW,EAIA,SAJA,EAIW,SAJX,EAIsB,SAJtB,EAIiC,SAJjC,EAKX,SALW,EAKA,SALA,EAKW,SALX,EAKsB,SALtB,EAKiC,SALjC,EAMX,SANW,EAMA,SANA,EAMW,SANX,EAMsB,SANtB,EAMiC,SANjC,CAAf;AASA,QAAIC,KAAK,GAAGD,QAAQ,CAAC,CAAD,CAApB;;AAEA,QAAI3N,EAAE,IAAI2N,QAAQ,CAACzR,MAAnB,EAA2B;AACvB,UAAI2R,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWJ,QAAQ,CAACzR,MAAT,GAAkB8D,EAA7B,CAAd;AACA4N,WAAK,GAAGD,QAAQ,CAACE,OAAD,CAAhB;AACH,KAHD,MAKID,KAAK,GAAGD,QAAQ,CAAC3N,EAAD,CAAhB;;AACJ,WAAO4N,KAAP;AACH;;AAED,WAASI,SAAT,CAAmBxS,KAAnB,EAA0B;AACtB,QAAI0E,GAAG,GAAG,6BAAV;AACAA,OAAG,IAAI,oCAAP;AACAA,OAAG,IAAI,qCAAqC1E,KAAK,CAACyS,KAA3C,GAAmD,QAA1D;AACA/N,OAAG,IAAI,8GAA8G1E,KAAK,CAAC2S,QAApH,GAA+H,QAAtI;AACAjO,OAAG,IAAI,4GAA4G1E,KAAK,CAAC4S,IAAlH,GAAyH,QAAhI;AACAlO,OAAG,IAAI,2FAA2F1E,KAAK,CAACwE,EAAjG,GAAsG,8IAA7G;AACAE,OAAG,IAAI,cAAP;AACA,WAAOA,GAAP;AACH;;AAED,WAAS2hB,oBAAT,CAA8B3e,GAA9B,EAAmCoL,QAAnC,EAA6CC,GAA7C,EAAkD;AAC9C,QAAItR,GAAG,GAAG,EAAV;AAEA,QAAIuR,IAAI,GAAG,EAAX;AACAA,QAAI,CAAChU,IAAL,GAAY,OAAZ,EACIgU,IAAI,CAACC,WAAL,GAAmB,CAACH,QAAQ,CAAC,CAAD,CAAT,EAAcA,QAAQ,CAAC,CAAD,CAAtB,CADvB;AAGA,QAAII,KAAK,GAAG,EAAZ;AACAA,SAAK,CAAC1O,EAAN,GAAWkD,GAAG,CAAClD,EAAf;AACA0O,SAAK,CAACC,cAAN,GAAuBX,SAAS,CAAC9K,GAAD,CAAhC,CAT8C,CAU/C;;AACKwL,SAAK,CAAC4T,cAAN,GAAuB,wCAAwC/T,GAAG,GAAG,CAA9C,IAAmD,OAA1E,EACAG,KAAK,CAACE,WAAN,GAAoB1L,GAAG,CAAC+K,KADxB,CAX0C,CAa1C;;AAGJ,QAAIa,GAAG,GAAG,EAAV;AACAA,OAAG,CAACC,MAAJ,GAAa,sBAAb,EACID,GAAG,CAACE,SAAJ,GAAgBqT,QAAQ,CAAC,CAAD,CAD5B,EAEIvT,GAAG,CAACI,qBAAJ,GAA4B,KAFhC;AAIAjS,OAAG,CAACzC,IAAJ,GAAW,SAAX,EACIyC,GAAG,CAAC+C,EAAJ,GAASkD,GAAG,CAAClD,EADjB,EAEI/C,GAAG,CAACkS,GAAJ,GAAU,CAFd,EAGIlS,GAAG,CAACmS,QAAJ,GAAeZ,IAHnB,EAIIvR,GAAG,CAACoS,UAAJ,GAAiBX,KAJrB,EAKIzR,GAAG,CAAC0I,OAAJ,GAAcmJ,GALlB;AAOA,WAAO7R,GAAP;AAEH;AAEJ,C","file":"core_build.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/core_last.js\");\n","$(document).ready(function () {\r\n sethtmlData();\r\n});\r\n\r\nfunction sethtmlData() {\r\n $.ajax({\r\n url: \"header_last.html\",\r\n async: true,\r\n success: function (data) {\r\n $('.header_content').html(data);\r\n }\r\n });\r\n $.ajax({\r\n url: \"footer.html\",\r\n async: true,\r\n success: function (data) {\r\n $('.footer_content').html(data); \r\n }\r\n });\r\n\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetSettings\",\r\n dataType: \"json\",\r\n async: true,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n $('#header-logo').html(data.d.region);\r\n if (data.d.hasTurn) {\r\n $('#header_Turn').show();\r\n $('#base_Turn').hide();\r\n $('#base_hasTurn').show();\r\n $('#footer_turn').show();\r\n\r\n $('.navbar_block__collapse_menu').css('margin-left', '0em');\r\n $('.navbar_block__collapse_menu').css('font-size', '1.18em');\r\n }\r\n else {\r\n $('#header_Turn').hide();\r\n $('#base_hasTurn').hide();\r\n $('#base_Turn').show();\r\n $('#footer_turn').hide();\r\n $('.navbar_block__collapse_menu').css('margin-left', '3.6em');\r\n $('.navbar_block__collapse_menu').css('font-size', '1.25em');\r\n }\r\n },\r\n error: function () {\r\n //alert('Не найден файл (settings.json) с наименованием региона');\r\n }\r\n });\r\n\r\n}\r\nexport function getCoord() {\r\n var b = [];\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetSettings\",\r\n dataType: \"json\",\r\n async: false,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n b = data.coord ? data.d.coord.replace(' ', '').trim().split(',') : [0, 0];\r\n }\r\n });\r\n return b;\r\n}\r\n\r\nexport function getCurrentReg() {\r\n var b = [];\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetSettings\",\r\n dataType: \"json\",\r\n async: false,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n b = data.d.currentReg;\r\n }\r\n });\r\n return b;\r\n}\r\n\r\nexport function onlyDistinct(value, index, array) { return array.indexOf(value) === index; }\r\n\r\nexport function getApiKey() {\r\n var b = '';\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetSettings\",\r\n dataType: \"json\",\r\n async: false,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n b = data.d.key;\r\n }\r\n });\r\n return b;\r\n}\r\n\r\n///////////////////////////////// методы обмена данными /////////////////////////////////\r\n\r\n//парсит параметры с формы ввода в обьект\r\n// inputs: formCaption - id формы без #\r\n// outputs: [{name: \"key\", value: \"text:param\"},\r\n// {name: \"key\", value: \"param\"}]\r\nfunction formToObj(formCaption) {\r\n const arr = ['select', 'input'];\r\n var rezArr = [];\r\n\r\n for (var i = 0; i < arr.length; i++) {\r\n var $objArr = $('#' + formCaption).find(arr[i]);\r\n for (var j = 0; j < $objArr.length; j++) {\r\n var $item = $($objArr[j]);\r\n if ($item.attr('name') !== undefined) {\r\n var rezObj = {};\r\n let value = checkVal($item);\r\n if (typeof (value) === 'object') {\r\n value.forEach(function (item) {\r\n rezArr.push(item);\r\n })\r\n }\r\n else {\r\n if (checkVal($item) !== \"\") {\r\n rezObj.name = $item.attr('name');\r\n rezObj.value = checkVal($item);\r\n\r\n rezArr.push(rezObj);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return rezArr;\r\n function checkVal($item) {\r\n let value = $item.val();\r\n\r\n if (value) {\r\n\r\n switch ($item.prop('tagName')) {\r\n case 'INPUT':\r\n if ($item.attr('type') === 'checkbox') {\r\n if ($item.prop(\"checked\"))\r\n return 'on';\r\n else return '';\r\n }\r\n else return value;\r\n break;\r\n case 'SELECT':\r\n let arr = [];\r\n let obj = $('#' + $item.attr('id') + ' option:selected');\r\n for (let i = 0; i < obj.length; i++) {\r\n let item = obj[i];\r\n let rez = {};\r\n rez.name = $item.attr('name');\r\n rez.value = item.text + ':' + item.value;\r\n arr.push(rez);\r\n }\r\n return arr\r\n break;\r\n }\r\n }\r\n else\r\n return '';\r\n }\r\n}\r\n\r\n// выделяет обьекты с множественным выбором \r\n// outputs {key:[\"param\", \"param\"]}\r\nfunction setDataMulticontrol(iArr, rezObj) {\r\n let iArrKey = Object.keys(rezObj);\r\n let data = {};\r\n $.each(iArrKey, (indexKey, valueKey) => {\r\n var TArr = [];\r\n $.each(iArr, (index, val) => {\r\n let name = val.name;\r\n if (name.indexOf(valueKey) > -1) {\r\n let Tval = val.value;\r\n TArr.push(Tval);\r\n }\r\n })\r\n if (TArr.length > 1)\r\n data[valueKey] = TArr;\r\n\r\n })\r\n return data;\r\n}\r\n\r\n// перевод параметров с формы в url\r\nexport function dataFormToURL(formСaption) {\r\n var localName = location.pathname.split('/');\r\n if (localName.length > 1)\r\n localName.splice(0, localName.length - 1);\r\n\r\n var rezStrSt = localName + '?';\r\n\r\n var rezStr = '';\r\n var formParam = formToObj(formСaption);\r\n\r\n let sentObj = {};\r\n $.each(formParam, (index, val) => {\r\n let vl = val.value;\r\n sentObj[val.name] = vl;\r\n })\r\n sentObj[\"PageSize\"] = \"10\";\r\n sentObj[\"Sort\"] = \"0\";\r\n\r\n let multiData = setDataMulticontrol(formParam, sentObj);\r\n\r\n $.each(sentObj, (key, value) => {\r\n sentObj[key] = (multiData[key] === undefined ? sentObj[key] : multiData[key]);\r\n })\r\n\r\n $.each(sentObj, (key, val) => {\r\n rezStr += '&' + key + '=' + arrToStr(val);\r\n })\r\n history.pushState('', document.title, rezStrSt + rezStr.substr(1));\r\n}\r\n\r\nfunction arrToStr(arr) {\r\n let str = '';\r\n if (typeof (arr) === 'object') {\r\n arr.forEach((value, index, arr) => {\r\n str += ';' + value;\r\n })\r\n return str.substr(1);\r\n }\r\n else return arr;\r\n\r\n}\r\n\r\n// перевод параметров url в обьект для отправки на сервер или для заполнения контролов\r\n//cntrl = false для ajax\r\n//cntrl = true для заполнения конролов\r\nexport function urlToObj(cntrl) {\r\n let url = decodeURIComponent(location.search);\r\n var queryStart = url.indexOf(\"?\") + 1,\r\n queryEnd = url.indexOf(\"#\") + 1 || url.length + 1,\r\n query = url.slice(queryStart, queryEnd - 1),\r\n data = {},\r\n nv,\r\n k,\r\n v,\r\n pairs = query.replace(/\\+/g, \" \").split(\"&\");\r\n if (query === url || query === \"\") {\r\n return data = null;\r\n }\r\n for (let i = 0; i < pairs.length; i++) {\r\n nv = pairs[i].split(\"=\");\r\n k = decodeURIComponent(nv[0]);\r\n v = decodeURIComponent(nv[1]) === \"on\" ? true : decodeURIComponent(nv[1]);\r\n if (v !== \"\" && v !== undefined) {\r\n let tv = parseUrlToArr(v, cntrl);\r\n data[k] = tv;\r\n }\r\n }\r\n return data;\r\n}\r\n\r\nfunction parseUrlToArr(iStr, cntrl) {\r\n let Tarr = iStr.split(';');\r\n let Rarr = [];\r\n if (Tarr.length > 1) {\r\n Tarr.forEach((value, index, Tarr) => {\r\n if (!cntrl)\r\n Rarr[index] = value.split(':')[1];\r\n else {\r\n let Tobj = {};\r\n Tobj.k = value.split(':')[1];\r\n Tobj.v = value.split(':')[0];\r\n Rarr[index] = Tobj;\r\n }\r\n\r\n })\r\n return Rarr;\r\n }\r\n else {\r\n let Tval = Tarr[0];\r\n if (Tval.split(':').length > 1) {\r\n if (!cntrl)\r\n return Tval.split(':')[1];\r\n else {\r\n let Tobj = {};\r\n Tobj.k = Tval.split(':')[1];\r\n Tobj.v = Tval.split(':')[0];\r\n return Tobj;\r\n }\r\n }\r\n else\r\n return Tval;\r\n }\r\n}\r\n\r\n///////////////////////////////// Грид /////////////////////////////////\r\nexport function SetValuePSize(id) {\r\n $('.page-count-rows__btn-info').text(id);\r\n changeGridControls(null);\r\n}\r\n\r\nexport function SetValuePsort(id) {\r\n var txt = $('#' + id).text();\r\n $('.page-sort-rows__btn-info').text(txt);\r\n $('.page-sort-rows__input-value').val(id[0]);\r\n changeGridControls(null);\r\n}\r\n\r\n//заполнение компонентов поиска из url\r\nexport function setParamTo(data) {\r\n for (var item in data)\r\n switch (item) {\r\n case 'PageSize':\r\n $('.page-count-rows__btn-info').text(data[item]);\r\n break;\r\n case 'Sort':\r\n $('.page - sort - rows__input - value').val(data[item]);\r\n var txt = $('#' + data[item] + '_sd').text();\r\n $('.page-sort-rows__btn-info').text(txt);\r\n break;\r\n default:\r\n $('input[name=\"' + item + '\"]').val(data[item]);\r\n break;\r\n\r\n }\r\n}\r\n\r\n\r\n//изменение параметров поиска данных из url\r\nfunction setSearchParam(arrObj) {\r\n var searchstr = location.search.split('&');\r\n searchstr[0] = searchstr[0].substr(1);\r\n var rezult = '';\r\n for (var j = 0; j < arrObj.length; ++j) {\r\n var item = arrObj[j];\r\n for (var i = 0; i < searchstr.length; ++i)\r\n if (searchstr[i].search(item.k) === 0)\r\n searchstr[i] = \"\";\r\n }\r\n for (var i = 0; i < searchstr.length; ++i)\r\n if (searchstr[i] !== \"\")\r\n rezult += '&' + searchstr[i];\r\n for (var j = 0; j < arrObj.length; ++j) {\r\n var item = arrObj[j];\r\n rezult += '&' + item.k + '=' + item.v;\r\n }\r\n rezult = '?' + rezult.substr(1);\r\n return rezult;\r\n}\r\n\r\n///////////////////////////////// Анимация /////////////////////////////////\r\n\r\n// - функция запуска анимации\r\nexport function startLoadingAnimation() {\r\n var imgObj = $(\"#loadImg\");\r\n imgObj.show();\r\n\r\n var centerY = $(window).scrollTop() + $(window).height() / 2;\r\n var centerX = $(window).scrollLeft() + ($(window).width()) / 2;\r\n imgObj.offset({ top: centerY, left: centerX });\r\n}\r\n\r\n// - функция остановки анимации\r\nexport function stoptLoadingAnimation() {\r\n $(\"#loadImg\").hide();\r\n}\r\n\r\n///////////////////////////////// Контролы /////////////////////////////////\r\n// param - параметр запроса\r\nfunction setDataControl(lookupTable, param) {\r\n var data = {};\r\n if (lookupTable !== null && lookupTable !== '') {\r\n data.lookupTable = lookupTable;\r\n }\r\n data.name = param;\r\n return JSON.stringify(data);\r\n}\r\n\r\nfunction setAjaxRequest(term, object, dataToJSON) {\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetLookupTable\",\r\n data: \"{inputsParam:'\" + dataToJSON + \"'}\",\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (response) {\r\n var data = JSON.parse(response.d);\r\n var $items = [];\r\n $.each(data, function (k, v) {\r\n let Obj = {\r\n k: v.k,\r\n v: replaceBrackets(v.v)\r\n }\r\n $items.push(Obj);\r\n });\r\n object.trigger('tokenize:dropdown:fill', [$items]);\r\n }\r\n });\r\n}\r\n\r\n//инициализация контролов \r\nexport function setControlforReestrListform() {\r\n $('#formobsl').mSelect({\r\n tokensMaxItems: 1,\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('formobsl', term))\r\n }\r\n });\r\n\r\n $('#s_uslug').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('s_uslug', term))\r\n }\r\n });\r\n $('#s_gn').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('s_gn', term))\r\n }\r\n });\r\n $('#reg_id').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('reg_id', term))\r\n }\r\n });\r\n $('#s_viduchobsl').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('s_viduchobsl', term))\r\n }\r\n });\r\n $('#s_opf').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('s_opf', term))\r\n }\r\n });\r\n $('#s_tipuchobsl').mSelect({\r\n placeholder: 'начните ввод...',\r\n dataSource: function (term, object) {\r\n setAjaxRequest(term, object, setDataControl('s_tipuchobsl', term))\r\n }\r\n });\r\n}\r\n\r\nexport function setVaribleElemToCntrl(formCaption, setObj) {\r\n for (let iemObj in setObj) {\r\n if (typeof (setObj[iemObj]) === 'object') {\r\n\r\n let key = null;\r\n let value = null;\r\n\r\n var arrObjtoCntrl = setObj[iemObj];\r\n\r\n if (\"length\" in arrObjtoCntrl) {\r\n for (let data in arrObjtoCntrl) {\r\n if (arrObjtoCntrl[data]) {\r\n key = (arrObjtoCntrl[data].k ? arrObjtoCntrl[data].k : arrObjtoCntrl[data].id);\r\n value = (arrObjtoCntrl[data].v ? arrObjtoCntrl[data].v : arrObjtoCntrl[data].name);\r\n\r\n if ($('#' + formCaption).find('[name = ' + iemObj + ']').length > 0)\r\n $('#' + formCaption).find('[name = ' + iemObj + ']').mSelect().trigger('tokenize:tokens:add', [key, value, true]);\r\n else\r\n if ($('#' + formCaption).find('#' + iemObj).length > 0)\r\n $('#' + formCaption).find('#' + iemObj).mSelect().trigger('tokenize:tokens:add', [key, value, true]);\r\n }\r\n }\r\n }\r\n else {\r\n let key = arrObjtoCntrl.k;\r\n let value = arrObjtoCntrl.v;\r\n\r\n if ($('#' + formCaption).find('[name = ' + iemObj + ']').length > 0)\r\n $('#' + formCaption).find('[name = ' + iemObj + ']').mSelect().trigger('tokenize:tokens:add', [key, value, true]);\r\n else\r\n if ($('#' + formCaption).find('#' + iemObj).length > 0)\r\n $('#' + formCaption).find('#' + iemObj).mSelect().trigger('tokenize:tokens:add', [key, value, true]);\r\n }\r\n }\r\n else {\r\n $('#' + formCaption).find('[name = ' + iemObj + ']').val(setObj[iemObj]);\r\n }\r\n }\r\n}\r\n\r\n//очистка панели поиска \r\nexport function clear(formCaption) {\r\n let $arr = $('#' + formCaption).find('select');\r\n $arr.each((index, element) => {\r\n let id = element.id;\r\n $('#' + formCaption).find('#' + id).mSelect().trigger('tokenize:clear');\r\n })\r\n\r\n $('#' + formCaption).find('input').val('');\r\n}\r\n\r\n\r\n\r\n///////////////////////////////// AJAX /////////////////////////////////\r\n// inputs: captionFunc - заголовок функции к которой обращаемся\r\n// sendObj - обьект который передаем(без JSON)\r\nexport function sentAjaxTo(captionFunc, sendObj) {\r\n var idVidUsl = null;\r\n try {\r\n idVidUsl = sendObj.idVidUsl;\r\n } catch (e) { }\r\n let sendJSON = JSON.stringify(sendObj);\r\n if (captionFunc !== 'SetNumUpDownStateRating') startLoadingAnimation();\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/\" + captionFunc,\r\n data: \"{inputsParam:'\" + sendJSON + \"'}\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n success: function (response) {\r\n let resp = JSON.parse(response.d)\r\n switch (captionFunc) {\r\n case 'GetListOrg':\r\n var reestr = require('./reestr_new.js');\r\n reestr.setDataListOrg(resp);\r\n break;\r\n case 'GetBasicInfo':\r\n var org = require('./org_last.js');\r\n org.setBasicInform(resp);\r\n break;\r\n case 'GetStructUnitsInfo':\r\n var org = require('./org_last.js');\r\n org.setStructInfo(resp);\r\n break;\r\n case 'GetFormsInfo':\r\n var org = require('./org_last.js');\r\n org.setFormsInfo(resp);\r\n break;\r\n case 'GetLicenseInfo':\r\n var org = require('./org_last.js');\r\n org.setLicenseInfo(resp);\r\n break;\r\n case 'GetFreePlaceInfo':\r\n var org = require('./org_last.js');\r\n org.setFreePlaseInfo(resp);\r\n break;\r\n case 'GetVerificationInfo':\r\n var org = require('./org_last.js');\r\n org.setVereficationInfo(resp);\r\n break;\r\n case 'GetViolationsInfo':\r\n var org = require('./org_last.js');\r\n org.setViolationsInfo(resp);\r\n break;\r\n case 'GetWorkInfo':\r\n var org = require('./org_last.js');\r\n org.setWorkInfo(resp);\r\n break;\r\n case 'GetAddrList':\r\n var maps = require('./maps_last.js');\r\n maps.setAddrList(resp);\r\n break;\r\n case 'GetListVidOrgForMaps':\r\n var maps = require('./maps_last.js');\r\n maps.setListVidOrgForMaps(resp);\r\n break;\r\n case 'GetInfoListMaps':\r\n var maps = require('./maps_last.js');\r\n maps.setListOrgForMaps(resp);\r\n break;\r\n case 'GetTarifInfo':\r\n var org = require('./org_last.js'); \r\n if (getCurrentReg() == 52)\r\n org.setTarigTbl(resp);\r\n else\r\n org.setTarifInfo(resp);\r\n break;\r\n case 'GetDataforSelector':\r\n var org = require('./org_last.js');\r\n if (idVidUsl === undefined)\r\n org.setFormsObslCntrl(resp);\r\n else\r\n org.setVidUslCntrl(resp);\r\n break;\r\n case 'GetOtherInfo':\r\n var org = require('./org_last.js');\r\n org.setOtherInfo(resp);\r\n break;\r\n case 'GetGaleryInfo':\r\n var org = require('./org_last.js');\r\n if (resp != '') {\r\n if (!resp[0].hasOwnProperty('photo'))\r\n org.setPictInfo(resp);\r\n else\r\n org.setSinglePick(resp);\r\n }\r\n else {\r\n $('.pick_container').show();\r\n $('.pick_container').html('

К сожалению нет информации

');\r\n }\r\n break;\r\n case 'GetOrgRating':\r\n var org = require('./org_last.js');\r\n org.setRPostRating(resp);\r\n break;\r\n case 'SetOrgRating':\r\n var org = require('./org_last.js');\r\n org.setRPostRatingData(resp);\r\n break;\r\n case 'SetNumUpDownStateRating':\r\n var org = require('./org_last.js');\r\n org.setStateRating(resp);\r\n break;\r\n case 'GetListVidUsl':\r\n var index = require('./index_last.js');\r\n index.setListVidUsl(resp);\r\n break;\r\n case 'GetListUslFromVidUsl':\r\n var index = require('./index_last.js');\r\n index.setListUslFromVidUsl(resp);\r\n break;\r\n case 'GetListOrgFromUsl':\r\n var usluga = require('./usluga_new.js');\r\n usluga.setListOrgFromUsl(resp);\r\n break;\r\n case 'GetQuestions':\r\n var org = require('./org_last.js');\r\n org.setQuestionList(resp);\r\n break;\r\n case 'GetOrgMerop':\r\n var org = require('./org_last.js');\r\n org.setOrgMerop(resp);\r\n break;\r\n case 'GetUslPred':\r\n var org = require('./org_last.js');\r\n org.setUslPred(resp);\r\n break;\r\n case 'GetTurn':\r\n var turn = require('./turn.js');\r\n turn.setResult(resp);\r\n break;\r\n case 'GetCaptionGroupОfАctivities':\r\n var org = require('./org_last.js');\r\n org.setCaptionGroupОfАctivities(resp);\r\n break;\r\n case 'GetAuthorizedOrganizations':\r\n var org = require('./org_last.js');\r\n org.setAuthorizedOrganizations(resp);\r\n break;\r\n\r\n case 'GetFounders':\r\n var org = require('./org_last.js');\r\n org.setFounders(resp);\r\n break;\r\n case 'GetInformationAboutGovernmentServices':\r\n var org = require('./org_last.js');\r\n org.setInformationAboutGovernmentServices(resp);\r\n break;\r\n\r\n\r\n\r\n }\r\n if (captionFunc !== 'GetDataforSelector') stoptLoadingAnimation();\r\n },\r\n error: function (response) {\r\n stoptLoadingAnimation();\r\n }\r\n });\r\n\r\n}\r\n\r\n// возвращает cookie с именем name, если есть, если нет, то undefined\r\nexport function getCookie(name) {\r\n var matches = document.cookie.match(new RegExp(\r\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\r\n ));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n}\r\n\r\nexport function setCookie(name, value, options) {\r\n options = options || {};\r\n var expires = options.expires;\r\n if (typeof expires === \"number\" && expires) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + expires * 1000);\r\n expires = options.expires = d;\r\n }\r\n if (expires && expires.toUTCString) {\r\n options.expires = expires.toUTCString();\r\n }\r\n value = encodeURIComponent(value);\r\n var updatedCookie = name + \"=\" + value;\r\n for (var propName in options) {\r\n updatedCookie += \"; \" + propName;\r\n var propValue = options[propName];\r\n if (propValue !== true) {\r\n updatedCookie += \"=\" + propValue;\r\n }\r\n }\r\n document.cookie = updatedCookie;\r\n}\r\n\r\nfunction deleteCookie(name) {\r\n setCookie(name, \"\", {\r\n expires: -1\r\n })\r\n}\r\n\r\n\r\n///////////////////////////////// прочие методы /////////////////////////////////\r\n\r\n//обрезание скобок вначале строки\r\nexport function replaceBrackets(str) {\r\n let end = str.indexOf(')') + 1;\r\n let lenth_ = str.length;\r\n\r\n let rezult = str;\r\n if (end !== -1)\r\n rezult = str.slice(end, lenth_);\r\n return rezult;\r\n}\r\n\r\n//обрезание скобок для строки которая разделена символом\r\nexport function replaceBracketsArr(str, ch) {\r\n let arr_ = str.split(ch);\r\n let rezult = '';\r\n arr_.forEach((value, inde, arr_) => {\r\n rezult += (ch + ' ' + replaceBrackets(value));\r\n })\r\n return rezult.substr(1);\r\n}\r\n","\r\nvar ServiceShowcase = (function () {\r\n const URL = './ASPWebDataServise.asmx/';\r\n let core = require('./core_last.js'),\r\n G_usl = JSON.parse(sessionStorage.getItem('G_usl')),\r\n vidUslObj = JSON.parse(sessionStorage.getItem('Vid_Usl'));\r\n\r\n //To CORE!!!!\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n // заполнение sessionStorage обьектом видов услуг(чтобы каждый раз не запрашивать)\r\n var _setListVidUsl = response => {\r\n let resp = JSON.parse(response.d);\r\n\r\n sessionStorage.setItem('G_usl', JSON.stringify(resp[0].id));\r\n\r\n //resp.forEach((value) => {\r\n // if (value.nkod.indexOf('циально-бытовые') > 0) {\r\n // sessionStorage.setItem('G_usl', JSON.stringify(value.id));\r\n // }\r\n //})\r\n\r\n sessionStorage.setItem('Vid_Usl', JSON.stringify(resp));\r\n _addMarkupToCategory();\r\n\r\n core.stoptLoadingAnimation();\r\n //sessionStorage.removeItem('Vid_Usl'); //TO DO: подумать где дропнуть, а может и вообще не дропать ???????????..........., хотя надо\r\n }\r\n\r\n //создание разметки под списки видов услуг\r\n // search параметр поиска если true то создается разметка для результата поиска если false для витрины\r\n var _addMarkupToCategory = (search = false) => {\r\n let txt = '',\r\n vidUslObj = JSON.parse(sessionStorage.getItem('Vid_Usl')),\r\n G_usl = JSON.parse(sessionStorage.getItem('G_usl'));\r\n\r\n vidUslObj.forEach((value, index) => {\r\n if (search) {\r\n txt += '
';\r\n txt += _createMarkupToCategory(true, value.id, value.nkod);\r\n txt += '
';\r\n }\r\n else {\r\n ///Перечень услуг - сделать чтобы выводились красиво, в едином стиле.\r\n txt += '
';\r\n txt += _createMarkupToCategory(true, value.id, value.nkod);\r\n txt += '
';\r\n\r\n //if (value.id == G_usl) {\r\n // txt += '
';\r\n // txt += _createMarkupToCategory(true, value.id, value.nkod);\r\n // txt += '
';\r\n //}\r\n //else {\r\n // // все остальные\r\n // var txtSm = '';\r\n // if ((index - 1) % 3 == 0) {\r\n // txtSm += '
';\r\n // txtSm += _createMarkupToCategory(false, value.id, value.nkod);\r\n // }\r\n // else\r\n // txtSm += _createMarkupToCategory(false, value.id, value.nkod);\r\n // txt += txtSm;\r\n //}\r\n }\r\n })\r\n\r\n $('.block_usl__container').html(txt);\r\n\r\n $('.setCollapseData').on('click', _setCollapseData);\r\n\r\n if (!search)\r\n _getListUslFromPreview();\r\n };\r\n\r\n // добавление блока разметки \r\n var _createMarkupToCategory = (base_block, id, caption) => {\r\n let txt = '';\r\n if (base_block) {\r\n txt += '
';\r\n txt += '
';\r\n txt += '

' + caption + '

';\r\n txt += '
';\r\n txt += '
';\r\n txt += '

Cмотреть все услуги
';\r\n txt += '
';\r\n }\r\n else {\r\n txt += '
';\r\n txt += '
';\r\n txt += '

' + caption + '

';\r\n txt += '
';\r\n txt += '

Cмотреть все услуги
';\r\n txt += '
';\r\n }\r\n\r\n return txt;\r\n }\r\n\r\n //// свернуть развернуть при просмотре \r\n var _setCollapseData = e => {\r\n core.startLoadingAnimation();\r\n let inxblock = (e.currentTarget.id.split(' ').length > 1) ? e.currentTarget.id.slice(19).split('_')[2] : e.currentTarget.id.split('_')[2],\r\n header = $('.block_usl_' + inxblock + '_header').text();\r\n $('.block_usl__container').html('');\r\n\r\n var txt = '
';\r\n txt += _createMarkupToCategory(true, inxblock, header);\r\n txt += '
';\r\n $('.block_usl__container').html(txt);\r\n\r\n let promise = _fetchAsync(URL, 'GetListUslFromVidUsl', { s_uslId: inxblock }).then(response => _setListUslFromVidUsl(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n\r\n $('.setCollapseData').on('click', _setBaseVidUsl);\r\n $('#block_usl_' + inxblock + '_collapse_span').text('вернуться к витрине');\r\n $('body,html').animate({\r\n scrollTop: 0\r\n }, 400);\r\n }\r\n\r\n //вернуться к начальному виду\r\n var _setBaseVidUsl = e => {\r\n $('body,html').animate({\r\n scrollTop: 0\r\n }, 400);\r\n $('.block_usl__container').html('');\r\n _addMarkupToCategory();\r\n }\r\n\r\n //запрос на заполнение данных для начального отображения \r\n var _getListUslFromPreview = () => {\r\n const Q_ROW_BASE = 9, Q_ROW = 3;\r\n let vidUslObj = JSON.parse(sessionStorage.getItem('Vid_Usl'));\r\n\r\n vidUslObj.forEach((value) => {\r\n let sendObj = Object.create(null);\r\n if (value.id == G_usl)\r\n sendObj.qRow = Q_ROW_BASE; // основной большой блок\r\n else\r\n sendObj.qRow = Q_ROW; // все остальные\r\n\r\n sendObj.s_uslId = value.id;\r\n let promise = _fetchAsync(URL, 'GetListUslFromVidUsl', sendObj).then(response => _setListUslFromVidUsl(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n })\r\n }\r\n\r\n var _setListUslFromVidUsl = response => {\r\n let resp = JSON.parse(response.d),\r\n info = null,\r\n description = null;\r\n\r\n if (Array.isArray(resp)) {\r\n resp.forEach((value) => {\r\n info = value.info;\r\n description = value.description;\r\n })\r\n }\r\n else {\r\n info = resp.info;\r\n description = resp.description;\r\n }\r\n _setListUslFromVidUslSngl(G_usl, info, description);\r\n\r\n core.stoptLoadingAnimation();\r\n }\r\n\r\n var _setListUslFromVidUslSngl = (G_usl, info, description) => {\r\n let txt = '',\r\n // костыль для определения сколько услуг отображать в блок \r\n length_ = description.split('_').length,\r\n descr = description.split('_')[0],\r\n descrSearch = description.split('_')[1];\r\n\r\n if (length_ > 1 && descrSearch == 0) {\r\n // если поиск\r\n if (info != undefined)\r\n info.forEach((value, index) => {\r\n txt += '

' + value.nkod + '

'\r\n })\r\n else\r\n $('.block_usl_' + descr + '_shadow').hide();\r\n }\r\n else\r\n if (length_ > 1) {\r\n // если для витрины\r\n if (G_usl == descr) {\r\n info.forEach((value, index, info) => {\r\n txt += '

' + value.nkod + '

';\r\n })\r\n txt += '
'\r\n }\r\n else {\r\n txt += '
'\r\n info.forEach((value, index, info) => {\r\n txt += '

' + value.nkod + '

';\r\n })\r\n txt += '
'\r\n }\r\n\r\n\r\n }\r\n else {\r\n // если при раскратии\r\n if (info != undefined) {\r\n txt += '
'\r\n info.forEach((value, index) => {\r\n txt += '

' + value.nkod + '

';\r\n $('.block_usl_' + descr + '_shadow').show();\r\n })\r\n txt += '
'\r\n }\r\n\r\n }\r\n\r\n $('.block_usl_' + descr + '_container').html(txt);\r\n }\r\n\r\n // устанавливает параметры с формы\r\n var _setSearchParameter = () => {\r\n const CAPTION_FORM = 'collapse_search_panel__form';\r\n\r\n let searchArr = $(`#${CAPTION_FORM}`).serializeArray(),\r\n searchObj = {},\r\n searchKey = [];\r\n\r\n searchArr.forEach((item) => {\r\n if (!searchKey.includes(item.name) && item.value != '')\r\n searchKey.push(item.name)\r\n });\r\n\r\n searchKey.forEach((item) => {\r\n let A = searchArr.filter(x => x.name === item);\r\n\r\n if (A.length > 1) {\r\n let arrTmp = A.map(a => a.value);\r\n searchObj[item] = arrTmp;\r\n }\r\n else {\r\n let val = A[0].value;\r\n searchObj[item] = val;\r\n }\r\n });\r\n\r\n return searchObj;\r\n };\r\n\r\n var _searchFunction = () => {\r\n let vidUslObj = JSON.parse(sessionStorage.getItem('Vid_Usl')),\r\n data = _setSearchParameter();\r\n\r\n core.startLoadingAnimation();\r\n\r\n $('.block_usl__container').html('');\r\n _addMarkupToCategory(true);\r\n\r\n vidUslObj.forEach((value) => {\r\n //$('.block_usl_' + value.id + '_collapse').attr(\"onClick\", \"index.setToggleBlock(\" + value.id + \")\");\r\n $('#block_usl_' + value.id + '_collapse_span').text('Вернуться к витрине');\r\n //$('.collapse_usl_block_span').css('margin-left', '-2rem');\r\n })\r\n $('.setCollapseData').on('click', _setBaseVidUsl);\r\n\r\n if (data.s_uslId) {\r\n vidUslObj.forEach((value) => {\r\n $('.block_usl_' + value.id + '_shadow').hide();\r\n })\r\n let promise = _fetchAsync(URL, 'GetListUslFromVidUsl', data).then(response => _setListUslFromVidUsl(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n }\r\n else {\r\n vidUslObj.forEach((value, index, vidUslObj) => {\r\n let sendObj = {\r\n s_uslId: value.id,\r\n qRow: 0,\r\n uslCaption: data.uslCaption,\r\n form_obsl: data.form_obsl\r\n };\r\n let promise = _fetchAsync(URL, 'GetListUslFromVidUsl', sendObj).then(response => _setListUslFromVidUsl(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n })\r\n }\r\n }\r\n\r\n var _clearFunction = () => {\r\n document.location.href = './index_last.html';\r\n }\r\n\r\n\r\n //-----------------------------------------\r\n var _setGroupОfАctivities = (resp, id) => {\r\n let response = JSON.parse(resp.d);\r\n\r\n if ($.isEmptyObject(response) || response.length == 0)\r\n return false;\r\n\r\n let listMerop = response;\r\n\r\n listMerop.forEach((value, index) => {\r\n let txt = '

' + value.nkod + '

';\r\n $('.gac-block_' + id + '_container').append(txt);\r\n });\r\n }\r\n\r\n\r\n var _setListCaptionMerop = resp => {\r\n let response = JSON.parse(resp.d);\r\n\r\n if ($.isEmptyObject(response) || response.HasError || response.Result.length == 0)\r\n return false;\r\n\r\n let listCaption = response.Result;\r\n listCaption.forEach(value => {\r\n let id = value.Id,\r\n caption = value.Caption,\r\n kode = value.Kod,\r\n txt = '';\r\n txt += '
';\r\n txt += '
';\r\n txt += '
';\r\n txt += '

' + caption + '

';\r\n txt += '
';\r\n txt += '
';\r\n //txt += '

Cмотреть все услуги
';\r\n txt += '
';\r\n txt += '
';\r\n $('.block_merop__container').append(txt);\r\n\r\n let promise = _fetchAsync(URL, 'GetGroupОfАctivities', { kod: kode })\r\n .then(response => _setGroupОfАctivities(response, id), err => console.error(`ошибка при получении данных: ${err}`));\r\n });\r\n core.stoptLoadingAnimation();\r\n\r\n }\r\n //-----------------------------------------\r\n\r\n\r\n // точка входа \r\n var init = () => {\r\n core.startLoadingAnimation();\r\n core.setControlforReestrListform() // рисуем контролы поиска\r\n\r\n if (vidUslObj == null)\r\n _fetchAsync(URL, 'GetListVidUsl', {}).then(response => _setListVidUsl(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n else\r\n _addMarkupToCategory();\r\n\r\n const promise = _fetchAsync(URL, 'GetCaptionGroupОfАctivities', {})\r\n .then(response => _setListCaptionMerop(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n };\r\n\r\n return {\r\n // public методы\r\n init: init,\r\n searchFunction: _searchFunction,\r\n clearFunction: _clearFunction,\r\n };\r\n}());\r\n\r\n(function main() {\r\n $(\"body\").fadeIn(2000);\r\n\r\n $('#search--btn').on('click', ServiceShowcase.searchFunction);\r\n $('#clear--btn').on('click', ServiceShowcase.clearFunction);\r\n\r\n ServiceShowcase.init();\r\n}());","// устаревшая хрень надо бы грохнуть но чот лень\r\n//свернуть развернуть\r\n//header = true иконка заголовка иначе иконка из списка\r\nexport function toggleElmnts(id, header) {\r\n let strClass = $('#' + id).find('i').attr('Class'),\r\n strStart = $('#' + id).find('i').attr('Class').indexOf(!header ? 'fa-toggle' : 'fa-chevron'),\r\n tStr = strClass.slice(strStart, strClass.length),\r\n strEnd = tStr.indexOf(' '),\r\n className = tStr.slice(0, (strEnd == -1 ? tStr.length : strEnd));\r\n\r\n if (!header) {\r\n if (className === 'fa-toggle-off')\r\n $('#' + id).find('i').removeClass('fa-toggle-off').addClass('fa-toggle-on');\r\n else\r\n $('#' + id).find('i').removeClass('fa-toggle-on').addClass('fa-toggle-off');\r\n event.stopPropagation();\r\n }\r\n else {\r\n if (className === 'fa-chevron-up')\r\n $('#' + id).find('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');\r\n else\r\n $('#' + id).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');\r\n $('#list_collapse').toggle(200);\r\n }\r\n}\r\n\r\n\r\nvar Map = (function () {\r\n const URL = \"./ASPWebDataServise.asmx/\",\r\n CORE = require('./core_last.js');\r\n var myMap, objectManager,\r\n list_history = {},\r\n listGroupCaption = [];\r\n\r\n /**\r\n * Метод для построения запросов на сервер\r\n * @param {any} url\r\n * @param {any} caption\r\n * @param {any} body\r\n */\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n /**\r\n * Преобразование адреса в координаты\r\n * @param {any} address\r\n */\r\n var _addressToCoord = async (address) => {\r\n let key = CORE.getApiKey(); \r\n const url = `https://geocode-maps.yandex.ru/1.x/?apikey=${key}&format=json&geocode=${address}`;\r\n \r\n let promise = await fetch(url),\r\n responseData = await promise.json();\r\n\r\n try {\r\n console.table(responseData.response.GeoObjectCollection.featureMember[0].GeoObject.Point.pos.split(' '))\r\n return responseData.response.GeoObjectCollection.featureMember[0].GeoObject.Point.pos.split(' ');\r\n }\r\n catch (err) {\r\n return false;\r\n }\r\n };\r\n\r\n /**\r\n * Проставляем цвет меток\r\n * @param {any} vidId\r\n */\r\n var _getColor = vidId => {\r\n if (!vidId)\r\n vidId = 0;\r\n var id = parseInt(vidId);\r\n var colorArr = ['#4682B4', '#FF4500', '#8A2BE2', '#A52A2A', '#0000FF', '#5F9EA0',\r\n '#FF0000', '#2E8B57', '#6A5ACD', '#FF6347',\r\n '#00FFFF', '#00008B', '#008B8B', '#B8860B', '#006400',\r\n '#8B008B', '#556B2F', '#FF8C00', '#8B0000', '#483D8B',\r\n '#2F4F4F', '#1E90FF', '#228B22', '#FF00FF', '#FFD700',\r\n '#20B2AA', '#87CEFA', '#0000CD', '#9370DB', '#FFA500',\r\n '#7FFF00', '#D2691E', '#FF7F50', '#6495ED', '#DC143C'\r\n ];\r\n\r\n var color = colorArr[0];\r\n\r\n if (id >= colorArr.length) {\r\n var colorId = Math.floor(colorArr.length / id);\r\n color = colorArr[colorId];\r\n }\r\n else\r\n color = colorArr[id];\r\n return color;\r\n }\r\n\r\n /**\r\n * Разметка балуна \r\n * @param {any} value\r\n */\r\n var rtrnBalun = value => {\r\n return `
\r\n
\r\n
${(value.naimk ? value.naimk : 'нет данных')}
\r\n
${(value.vidnkod ? value.vidnkod : 'нет данных')}
\r\n
${value.fra_addr}
\r\n
${(value.ntel ? value.ntel : 'нет данных')}
\r\n \r\n
\r\n
`;\r\n }\r\n\r\n /**\r\n * Добавляем в objectManager обьект\r\n * @param {any} item\r\n * @param {any} arrPoint\r\n * @param {any} ind\r\n */\r\n var _createElemObjManager = (org, arrPoint, ind) => {\r\n if (!arrPoint) {\r\n CORE.stoptLoadingAnimation();\r\n console.error(`Не получены координаты для ${org.naimk} => _createElemObjManager`);\r\n return false;\r\n }\r\n\r\n let geom = {\r\n type: 'Point',\r\n coordinates: [arrPoint[1], arrPoint[0]]\r\n },\r\n prpty = {\r\n id: org.id,\r\n balloonContent: rtrnBalun(org),\r\n //clusterCaption: 'Организация № ' + (ind + 1) + ' ',\r\n hintContent: org.naimk ? org.naimk : 'нет данных',\r\n iconCaption: org.vidnkod ? org.vidnkod : org.naimk\r\n },\r\n opt = {\r\n preset: 'islands#StretchyIcon',\r\n iconColor: _getColor(org.vidid),\r\n hideIconOnBalloonOpen: false\r\n },\r\n obj = {\r\n type: 'Feature',\r\n id: org.id,\r\n vid: org.vidid ? org.vidid : '0',\r\n geometry: geom,\r\n properties: prpty,\r\n options: opt\r\n };\r\n\r\n\r\n //myMap.setCenter([arrPoint[1], arrPoint[0]], 8, {\r\n // checkZoomRange: false\r\n //});\r\n\r\n return obj;\r\n };\r\n\r\n /**\r\n * отрисовка элементов на карте\r\n * @param {any} response\r\n */\r\n var _setTargetInmap = response => {\r\n \r\n let a = JSON.parse(response.d);\r\n let lastCoord = [];\r\n\r\n if (!a) {\r\n CORE.stoptLoadingAnimation();\r\n return\r\n };\r\n a.forEach(async (item, index) => { \r\n let lat = parseFloat(item.latitude)\r\n let long = parseFloat(item.longitude)\r\n if (!lat || !long || lat >= 90 || long >= 180) {\r\n //вызываем сервис и пишем в базу\r\n let addres = item.fra_addr;\r\n\r\n if (addres === 'Адрес регистрации не заполнен' || addres == '') {\r\n console.error(`У организации: ${item.naimk} c id=${item.id} не заполнен адресс: ${addres}`);\r\n return false;\r\n }\r\n const promise = _addressToCoord(addres)\r\n .then(arrPoint => {\r\n lastCoord = arrPoint;\r\n const prom = _fetchAsync(\"./ASPWebDataServise.asmx/\", 'SetContactCoordinate', {\r\n orgId: item.id,\r\n latitude: arrPoint[1],\r\n longitude: arrPoint[0]\r\n });\r\n item.latitude = arrPoint[1]\r\n item.longitude = arrPoint[0]\r\n if (!item.latitude && !item.longitude) {\r\n console.error(\"Не удалось найти координаты адреса \" + addres)\r\n return false\r\n }\r\n return objectManager.add(_createElemObjManager(item, arrPoint, index)) \r\n }//TO DO: проверить на ошибки не получения координат\r\n );\r\n await promise\r\n }\r\n else {\r\n var A = null;\r\n const regexLongitude = new RegExp('^(?:179(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$'), // долгота\r\n regexLatitude = new RegExp('^(?:179(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$'); // широта\r\n try {\r\n\r\n let isMatchLongitude = regexLongitude.test(item.longitude),\r\n isMatchLatitude = regexLatitude.test(item.latitude);\r\n\r\n if (isMatchLongitude && isMatchLatitude)\r\n A = _createElemObjManager(item, [item.longitude, item.latitude], index);\r\n else\r\n console.table([item.fra_addr, item.longitude, item.latitude]);\r\n }\r\n catch (e) {\r\n console.err(e)\r\n }\r\n\r\n A && objectManager.add(A);\r\n lastCoord = [item.longitude, item.latitude];\r\n }\r\n });\r\n \r\n // ветка когда тыкнули по организации (ну или когда она одна) \r\n if (a.length === 1) { \r\n myMap.setCenter([a[0].latitude, a[0].longitude], 7, {\r\n checkZoomRange: false\r\n });\r\n } else {\r\n let centerCoord = CORE.getCoord() \r\n if (centerCoord[0] && centerCoord[1])\r\n lastCoord = centerCoord\r\n else { \r\n let sumLat = 0, sumLong = 0, lngth = a.filter(_ => _.latitude && _.longitude && _.latitude < 90 && _.longitude < 180).length\r\n a.forEach(_ => { if (_.latitude) sumLat += parseFloat(_.latitude); if (_.longitude) sumLong += parseFloat(_.longitude); }) \r\n lastCoord = [sumLat / lngth, sumLong / lngth]\r\n }\r\n \r\n myMap.setCenter([lastCoord[0], lastCoord[1]], 7, {\r\n checkZoomRange: false\r\n });\r\n }\r\n \r\n\r\n CORE.stoptLoadingAnimation();\r\n };\r\n\r\n /**\r\n * вспомогательный метод по отрисовке основного меню\r\n * @param {any} inputArr\r\n * @param {any} inputItem\r\n */\r\n var Unique = (inputArr, inputItem) => {\r\n for (var i = 0; i < inputArr.length; ++i) {\r\n var item = inputArr[i];\r\n if (item.k == inputItem.k)\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * отрисовать список организаций\r\n * @param {any} response\r\n */\r\n var _setListOrgForMaps = response => {\r\n let resp = JSON.parse(response.d);\r\n\r\n if (!resp) {\r\n CORE.stoptLoadingAnimation();\r\n return false;\r\n }\r\n\r\n\r\n var rez = [];\r\n resp.forEach((value) => {\r\n\r\n let tmp = rez.filter(item => item.id === value.id);\r\n if (tmp.length == 0)\r\n rez.push(value);\r\n\r\n })\r\n\r\n\r\n $('.list_org__body').html('');\r\n $('.list_org_count').html(resp.length + ' организаций');\r\n\r\n rez.forEach((value) => {\r\n let txt = `
\r\n
${value.naimk}
\r\n

${value.fra_addr}

\r\n

Тел.: ${value.ntel}

\r\n Подробнее
`;\r\n\r\n $('.list_org__body').append(txt);\r\n })\r\n CORE.stoptLoadingAnimation();\r\n };\r\n\r\n /**\r\n * открыть окно с организациями по клику на главном меню\r\n * @param {any} id\r\n */\r\n var _openListForms = id => {\r\n CORE.startLoadingAnimation();\r\n let promise = _fetchAsync(URL, 'GetInfoListMaps', { vidId: id }).then(response => _setListOrgForMaps(response), error => console.error('Не удалось получить данные для отрисовки списка организаций'));\r\n\r\n $('.list_org_container').css('z-index', 998);\r\n $('.list_org_container').show(200);\r\n\r\n\r\n for (var item in list_history) {\r\n list_history[item] = false;\r\n }\r\n\r\n list_history[id] = true;\r\n objectManager.setFilter(\r\n getFilterFunction(list_history)\r\n )\r\n\r\n };\r\n\r\n function getFilterFunction(categories) {\r\n return function (obj) {\r\n var content = obj.vid;\r\n return categories[content]\r\n }\r\n }\r\n\r\n /**\r\n * отрисовать главное меню\r\n * @param {any} response\r\n */\r\n var _setListVidOrgForMaps = response => {\r\n let a = JSON.parse(response.d);\r\n $('.list_type_org__body').html('');\r\n $('.list_type_org_count').html(a.length + ' видов организаций');\r\n\r\n if (!a) {\r\n CORE.stoptLoadingAnimation();\r\n return false;\r\n }\r\n\r\n //htmTxt += ' ';\r\n a.forEach((value, index) => {\r\n let htmTxt = `
\r\n
\r\n
${value.vidnkod == '' ? 'Не указано' : value.vidnkod}
\r\n

Всего организаций - ${value.kol}

\r\n

Цвет меток\r\n \r\n

\r\n
\r\n
`;\r\n\r\n // необходимо для связи меток и меню\r\n var tData = {};\r\n tData.k = value.vidid;\r\n tData.v = value.vidnkod;\r\n\r\n if (Unique(listGroupCaption, tData)) {\r\n listGroupCaption.push(tData);\r\n list_history[tData.k] = true;\r\n }\r\n $('.list_type_org__body').append(htmTxt);\r\n\r\n });\r\n\r\n CORE.stoptLoadingAnimation();\r\n };\r\n\r\n /**\r\n * клик по главному меню\r\n * @param {any} e\r\n */\r\n var _typeOfOrganizationClick = e => {\r\n let tmpID = e.target.id;\r\n\r\n if (!tmpID)\r\n return false;\r\n\r\n let id = parseInt(tmpID.split('_')[1]);\r\n\r\n if (id)\r\n _openListForms(id);\r\n };\r\n\r\n /**\r\n *клик по организации второго меню\r\n * @param {any} e\r\n */\r\n var _organizationClick = e => {\r\n var id = ($(e.target).parent('div').parent('div').attr('id') == undefined ? $(e.target).parent('div').attr('id') : $(e.target).parent('div').parent('div').attr('id'));\r\n var objectState = objectManager.getObjectState(id);\r\n if (objectState.isClustered) {\r\n objectManager.clusters.state.set('activeObject', objectManager.objects.getById(id));\r\n objectManager.clusters.balloon.open(objectState.cluster.id);\r\n } else {\r\n objectManager.objects.balloon.open(id);\r\n }\r\n };\r\n\r\n var _closeForm = e => {\r\n\r\n for (var item in list_history) {\r\n list_history[item] = true;\r\n }\r\n\r\n objectManager.setFilter(\r\n getFilterFunction(list_history)\r\n )\r\n\r\n\r\n $('.list_org_container').hide(400);\r\n $('.org_card').remove();\r\n }\r\n\r\n var _init = () => {\r\n // Создание экземпляра карты и его привязка к контейнеру с\r\n // заданным id (\"map\").\r\n myMap = new ymaps.Map('map', {\r\n // При инициализации карты обязательно нужно указать\r\n // её центр и коэффициент масштабирования.\r\n center: CORE.getCoord(),\r\n zoom: 7,\r\n }, {\r\n searchControlProvider: 'yandex#search'\r\n }\r\n );\r\n objectManager = new ymaps.ObjectManager({\r\n clusterize: true,\r\n gridSize: 64,\r\n clusterDisableClickZoom: true,\r\n clusterBalloonContentLayoutWidth: 400,\r\n clusterBalloonContentLayoutHeight: 250,\r\n clusterBalloonContentLayout: 'cluster#balloonCarousel',\r\n });\r\n\r\n myMap.geoObjects.add(objectManager); // так в примере \r\n\r\n CORE.startLoadingAnimation();\r\n // отрисовка карты\r\n let strSearch = location.search.replace('?', ''),\r\n arrTmp = strSearch.split('&'),\r\n sendObj = {};\r\n\r\n if (arrTmp.length > 0) {\r\n arrTmp.forEach((item) => {\r\n let tmpItem = item.split('=');\r\n if (tmpItem[0] != \"\")\r\n sendObj[tmpItem[0]] = tmpItem[1];\r\n });\r\n }\r\n let promise = _fetchAsync(URL, 'GetInfoListMaps', sendObj)\r\n .then(response => _setTargetInmap(response), error => console.error('Не удалось получить данные для карты'));\r\n // .then(a => {\r\n // if (Object.entries(sendObj).length != 0)\r\n // objectManager.objects.balloon.open(sendObj.orgId);\r\n // });\r\n\r\n if (Object.entries(sendObj).length === 0) {\r\n //отрисовка главного меню\r\n let mnuPromise = _fetchAsync(URL, 'GetListVidOrgForMaps', {}).then(response => _setListVidOrgForMaps(response), error => console.error('Не удалось получить данные для построения меню'));\r\n $('.list_type_org_container').show();\r\n }\r\n else {\r\n $('.list_type_org_container').hide();\r\n }\r\n };\r\n\r\n return {\r\n init: _init,\r\n typeOfOrganizationClick: _typeOfOrganizationClick,\r\n organizationClick: _organizationClick,\r\n closeForm: _closeForm\r\n };\r\n\r\n //#region возможно пригодится\r\n //// клик по иконке показать/скрыть, должна фильтртовать все метки по виду \r\n //$('.small_link').on('click', function (e) {\r\n // var id = this.id;\r\n\r\n // var id_ = this.id.split('_');\r\n // var id_item = id_[2];\r\n\r\n // let strClass = $('#' + id).find('i').attr('Class'),\r\n // strStart = $('#' + id).find('i').attr('Class').indexOf('fa-toggle'),\r\n // tStr = strClass.slice(strStart, strClass.length),\r\n // strEnd = tStr.indexOf(' '),\r\n // className = tStr.slice(0, (strEnd == -1 ? tStr.length : strEnd));\r\n\r\n // if (className === 'fa-toggle-off') {\r\n // list_history[id_item] = false;\r\n // objectManager.setFilter(\r\n // getFilterFunction(list_history)\r\n // );\r\n // }\r\n // else {\r\n // list_history[id_item] = true;\r\n // objectManager.setFilter(\r\n // getFilterFunction(list_history)\r\n // )\r\n // }\r\n\r\n\r\n // function getFilterFunction(categories) {\r\n // return function (obj) {\r\n // var content = obj.vid;\r\n // return categories[content]\r\n // }\r\n // }\r\n //});\r\n //#endregion\r\n}());\r\n\r\n(function main() {\r\n $(document).mouseup(function (e) {\r\n\r\n });\r\n\r\n $(\"body\").fadeIn(2000);\r\n\r\n $('.list_type_org_container').draggable();\r\n $('.list_org_container').draggable();\r\n\r\n ymaps.ready(Map.init);\r\n // клик по основному меню\r\n $('.list_type_org__body').on('click', Map.typeOfOrganizationClick);\r\n // клик по всплывшему меню организаций\r\n $('.list_org__body').on('click', Map.organizationClick);\r\n $('#closeForm').on('click', Map.closeForm);\r\n}());","var core = require('./core_last.js');\r\n\r\nvar currentReg;\r\n\r\n$(document).ready(function () {\r\n currentReg = core.getCurrentReg();\r\n\r\n $('#othInfo').html(currentReg != 52\r\n ? 'Иная информация'\r\n : 'Тарифы на социальное обслуживания')\r\n\r\n if (currentReg == 52) { // для нижнего свети отдельный вариант (по сути это 2 разные вкладки, важная штука)\r\n $('#aTarAndUsl').hide()\r\n $('#aTarAndUslNij').show()\r\n $('#aUpoln').hide()\r\n $('#aUchred').hide()\r\n $('#aGalera').hide()\r\n // getInform(4.5)\r\n } else {\r\n $('#aTarAndUsl').show()\r\n $('#aTarAndUslNij').hide()\r\n }\r\n\r\n $('#aStrPodr').html(currentReg != 52\r\n ? 'Структурные подразделения'\r\n : 'Структурные подразделения и оказываемые услуги');\r\n\r\n $('#gototop').click(function () {\r\n $('body,html').animate({\r\n scrollTop: 0\r\n }, 400);\r\n return false;\r\n });\r\n\r\n let resp = core.urlToObj(false);\r\n if (resp && resp.cert) {\r\n $(`#rpost`).toggle();\r\n $(`#rcert`).toggle();\r\n $(`.reestr-isp`).toggle();\r\n }\r\n\r\n getInform(0);\r\n\r\n $('#vidUslCntrl').on('change', function () {\r\n let urlData = core.urlToObj(false);\r\n let sentObj = {};\r\n sentObj.orgId = urlData.id;\r\n sentObj.sfp = urlData.sfp;\r\n sentObj.formId = $('#formObslCntrl').val();\r\n sentObj.vidId = $('#vidUslCntrl').val();\r\n core.sentAjaxTo('GetTarifInfo', sentObj);\r\n })\r\n\r\n $('#formObslCntrl').on('change', function () {\r\n let sendObj = {};\r\n let urlData = core.urlToObj(false);\r\n\r\n sendObj.orgId = urlData.id;\r\n sendObj.idVidUsl = $('#formObslCntrl').val();\r\n core.sentAjaxTo('GetDataforSelector', sendObj);\r\n })\r\n\r\n lastSim.innerHTML = $('#comm_').attr(\"maxlength\");\r\n comm_.onkeyup = comm_.oninput = showCount;\r\n comm_.onpropertychange = function () {\r\n if (event.propertyName == \"value\") showCount();\r\n }\r\n comm_.oncut = function () {\r\n setTimeout(showCount, 0); // на момент oncut значение еще старое\r\n };\r\n\r\n\r\n $('.start_an').on('click', function () {\r\n var sentObj = {};\r\n core.sentAjaxTo('GetQuestions', sentObj);\r\n })\r\n\r\n $('.test-window').on('click', '.answer', function (e) {\r\n var questId = this.id;\r\n clickBtn(questId);\r\n })\r\n\r\n var data = sessionStorage.getItem('setComment');\r\n var dataQ = sessionStorage.getItem('setQuestion');\r\n if (data == 'true')\r\n $('.comment-btn').hide();\r\n else\r\n $('.comment-btn').show();\r\n if (dataQ == 'true')\r\n $('.start_an').hide();\r\n else\r\n $('.start_an').show();\r\n\r\n})\r\n\r\n//наполнение контентом блока в соответствии с выбранной вкладкой меню\r\nexport function setDataContent(id, Obj) {\r\n // изменение положения меню\r\n $('.menu_block').find('.active').removeClass('active');\r\n $(Obj).addClass('active');\r\n $('.caption_menu').text(Obj.text);\r\n\r\n // заполнение блока по выбранной вкладке\r\n const classItem = 'content_menu__body_item_';\r\n let $curObj = $('.content_menu__body').find('.active');\r\n $curObj.hide();\r\n $curObj.removeClass('active')\r\n let classItemId = id.toString().replace('.', '_')\r\n $('.' + classItem + classItemId).show();\r\n $('.' + classItem + classItemId).addClass('active');\r\n // отобразить кнопку написания отзывов\r\n if (id == 11)\r\n $('.logo_comment_button').show();\r\n else\r\n $('.logo_comment_button').hide();\r\n getInform(id);\r\n}\r\n\r\nfunction getInform(lookupTable) {\r\n let resp = core.urlToObj(false);\r\n let sentObj = {};\r\n sentObj.orgId = resp.id;\r\n switch (lookupTable) {\r\n case 0:\r\n if (!$('.base_info__container').is(\":visible\"))\r\n core.sentAjaxTo('GetBasicInfo', sentObj);\r\n break;\r\n case 1:\r\n if (!$('.content_struct_unit__container').children('div').length > 0)\r\n core.sentAjaxTo('GetStructUnitsInfo', sentObj);\r\n break;\r\n case 2:\r\n if (!$('.content_forms__container').children('div').length > 0)\r\n core.sentAjaxTo('GetFormsInfo', sentObj);\r\n break;\r\n case 3:\r\n if (!$('.license_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetLicenseInfo', sentObj);\r\n break;\r\n case 4:\r\n if (!$('.tarif_container').children('div').length > 0)\r\n core.sentAjaxTo('GetDataforSelector', sentObj);\r\n break;\r\n case 4.5:\r\n if (!$('.tarif_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetDataforSelector', sentObj);\r\n break;\r\n case 5:\r\n if (!$('.free_place_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetFreePlaceInfo', sentObj);\r\n break;\r\n case 6:\r\n if (!$('.usl_pred_container').is(\":visible\"))\r\n core.sentAjaxTo('GetUslPred', sentObj);\r\n break;\r\n\r\n case 7:\r\n if (!$('.verefication_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetVerificationInfo', sentObj);\r\n if (!$('.violations_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetViolationsInfo', sentObj);\r\n break;\r\n case 8:\r\n if (!$('.work_tbl').is(\":visible\"))\r\n core.sentAjaxTo('GetWorkInfo', sentObj);\r\n break;\r\n case 9:\r\n if (!$('.doc_tbl__container').is(\":visible\"))\r\n core.sentAjaxTo('GetOtherInfo', sentObj);\r\n break;\r\n case 10:\r\n if (!$('.pick_container').is(\":visible\"))\r\n core.sentAjaxTo('GetGaleryInfo', sentObj);\r\n break;\r\n case 11:\r\n core.sentAjaxTo('GetOrgRating', sentObj);\r\n break;\r\n case 12:\r\n core.sentAjaxTo('GetCaptionGroupОfАctivities', sentObj);\r\n break;\r\n case 13:\r\n core.sentAjaxTo('GetAuthorizedOrganizations', sentObj);\r\n break;\r\n case 14:\r\n core.sentAjaxTo('GetFounders', sentObj);\r\n break;\r\n case 15:\r\n core.sentAjaxTo('GetInformationAboutGovernmentServices', sentObj);\r\n break;\r\n }\r\n\r\n}\r\n\r\n\r\nvar parseUrl = function (value) {\r\n if (value.indexOf('http') != -1 || value.indexOf('https') != -1)\r\n return value;\r\n else\r\n return 'http://' + value;\r\n};\r\n\r\n//основная информация \r\nexport function setBasicInform(resp) {\r\n if (resp != null) {\r\n $('.base_info__container').show();\r\n let req = core.urlToObj(false);\r\n let str = '';\r\n $('.caption_org').html(resp.naimk);\r\n if (resp.isispsert.toLowerCase() === 'true')\r\n $('#informGovServices').show();\r\n else\r\n $('#informGovServices').hide();\r\n\r\n $.each(resp, (key, value) => {\r\n switch (key) {\r\n case 'fra_mest_addr':\r\n case 'fra_mest_addr_ur':\r\n str = value + ' ';\r\n break;\r\n case 'email':\r\n str = ' ' + value + '';\r\n break;\r\n case 'website':\r\n str = `Перейти `;\r\n break;\r\n case 'isauthorized':\r\n str = 'Нет, данных.';\r\n if (value == '0')\r\n str = 'Нет, не является.';\r\n if (value == '1')\r\n str = 'Да, является.';\r\n break;\r\n case 'opf':\r\n str = currentReg == 52\r\n ? value.split('-').pop()\r\n : value\r\n break;\r\n default:\r\n str = value;\r\n }\r\n $('.base_information').find('#' + key).html(str);\r\n });\r\n }\r\n}\r\n\r\n// условия предоставления\r\nexport function setUslPred(resp) {\r\n if (resp && resp.length > 0) {\r\n var txt = '
    '\r\n resp.forEach((item) => {\r\n var c = item.v.indexOf('<');\r\n if (c > 0)\r\n txt += '
  • ' + item.v.substring(0, c) + '
  • ';\r\n else\r\n txt += '
  • ' + item.v + '
  • ';\r\n })\r\n $('.usl_container').html(txt)\r\n }\r\n else $('.usl_container').html('

    К сожалению нет информации о лицензиях данного поставщика

    ')\r\n //else $('.usl_container').html('Условия бесплатного предоставление социальных услуг
    Социальные услуги в форме социального обслуживания на дому, в полустационарной и стационарной формах социального обслуживания предоставляются бесплатно:
    1) несовершеннолетним детям;
    2) лицам, пострадавшим в результате чрезвычайных ситуаций, вооруженных межнациональных(межэтнических) конфликтов.
    Социальные услуги в форме социального обслуживания на дому и в полустационарной форме социального обслуживания предоставляются бесплатно, если на дату обращения среднедушевой доход получателя социальных услуг, рассчитанный в соответствии с нормативными правовыми актами Российской Федерации, ниже предельной величины или равен предельной величине среднедушевого дохода для предоставления социальных услуг бесплатно, установленной законом субъекта Российской Федерации.
    Нормативными правовыми актами субъектов Российской Федерации могут быть предусмотрены иные категории граждан, которым социальные услуги предоставляются бесплатно.
    Порядок определения среднедушевого дохода для предоставления социальных услуг бесплатно для целей настоящего Федерального закона устанавливается Правительством Российской Федерации.
    Размер предельной величины среднедушевого дохода для предоставления социальных услуг бесплатно устанавливается законами субъекта Российской Федерации и не может быть ниже полуторной величины прожиточного минимума, установленного в субъекте Российской Федерации для основных социально - демографических групп населения.


    Условия платного предоставление социальных услуг и определение размера платы
    Социальные услуги в форме социального обслуживания на дому и в полустационарной форме социального обслуживания предоставляются за плату или частичную плату, если на дату обращения среднедушевой доход получателей социальных услуг, рассчитанный в соответствии с частью 4 статьи 31 настоящего Федерального закона, превышает предельную величину среднедушевого дохода, установленную частью 5 статьи 31 настоящего Федерального закона.
    Размер ежемесячной платы за предоставление социальных услуг в форме социального обслуживания на дому и в полустационарной форме социального обслуживания рассчитывается на основе тарифов на социальные услуги, но не может превышать пятьдесят процентов разницы между величиной среднедушевого дохода получателя социальной услуги и предельной величиной среднедушевого дохода, установленной частью 5 статьи 31 настоящего Федерального закона.
    Социальные услуги в стационарной форме социального обслуживания предоставляются их получателям за плату или частичную плату, за исключением получателей социальных услуг, указанных в частях 1 и 3 статьи 31 настоящего Федерального закона.
    Размер ежемесячной платы за предоставление социальных услуг в стационарной форме социального обслуживания рассчитывается на основе тарифов на социальные услуги, но не может превышать семьдесят пять процентов среднедушевого дохода получателя социальных услуг, рассчитанного в соответствии с частью 4 статьи 31 настоящего Федерального закона.
    Плата за предоставление социальных услуг производится в соответствии с договором о предоставлении социальных услуг, предусмотренным статьей 17 настоящего Федерального закона.

    \t');\r\n}\r\n\r\n//структурная информация\r\nexport function setStructInfo(resp) {\r\n\r\n /**\r\n * Метод для построения запросов на сервер\r\n * @param {any} url\r\n * @param {any} caption\r\n * @param {any} body\r\n */\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n /**\r\n * Преобразование адреса в координаты\r\n * @param {any} address\r\n */\r\n var _addressToCoord = async (address) => {\r\n let key = core.getApiKey();\r\n const url = `https://geocode-maps.yandex.ru/1.x/?apikey=${key}&format=json&geocode=` + address,\r\n\r\n promise = await fetch(url),\r\n responseData = await promise.json(); \r\n try {\r\n return responseData.response.GeoObjectCollection.featureMember[0].GeoObject.Point.pos.split(' ');\r\n }\r\n catch (err) {\r\n concole.table(err);\r\n return false;\r\n }\r\n };\r\n\r\n\r\n let text = '';\r\n if (Object.entries(resp).length > 0) {\r\n\r\n resp.forEach((value) => {\r\n let item = value;\r\n text += '
    ';\r\n text += '
    ';\r\n text += '

    ' + item.caption + '

    ';\r\n\r\n text += '
    адрес: ' + item.addr + ' ';\r\n if (item.ntel)\r\n text += '
    номер телефона: ' + item.ntel\r\n if (item.grafic)\r\n text += '
    график работы: ' + item.grafic\r\n if (item.obslF)\r\n text += '
    формы обслуживания: ' + item.obslF\r\n text += '
    '\r\n\r\n if (item.sfpMainNkod != '')\r\n text += '
    относится к структурному подразделению: ' + item.sfpMainNkod + '
    ';\r\n if (item.value.length > 0)\r\n text += ' Список услуг';\r\n text += '
    ';\r\n text += '
      ';\r\n\r\n if (item.hasOwnProperty('latitude') && item.hasOwnProperty('longitude')) {\r\n if (item.latitude == '' && item.longitude == '') {\r\n const promise = _addressToCoord(item.addr)\r\n .then((arrPoint) => {\r\n _fetchAsync(\"./ASPWebDataServise.asmx/\", 'SetContactCoordinate', {\r\n structSfpID: item.sfp,\r\n orgId: item.base_id,\r\n latitude: arrPoint[1],\r\n longitude: arrPoint[0]\r\n });\r\n });\r\n }\r\n }\r\n\r\n let arr_ = item.value;\r\n arr_.forEach((value_, index_,) => {\r\n text += `
    • \r\n\r\n${(index_ + 1)}. ${value_.k}\r\n
    • `;\r\n text += `
      `;\r\n });\r\n text += '
    ';\r\n });\r\n\r\n }\r\n else\r\n text = `Нет информации по структурным подразделениям`;\r\n\r\n $('.content_struct_unit__container').html(text);\r\n\r\n\r\n $('.getTarifBtn').click(function (e) {\r\n let currId = e.currentTarget.id;\r\n\r\n if (!currId) {\r\n return false;\r\n }\r\n\r\n let IdServices = currId.split('_')[0],\r\n IdOrganization = currId.split('_')[1],\r\n urlData = core.urlToObj(false),\r\n sendObj = {\r\n IdServices: IdServices,\r\n IdOrganization: IdOrganization,\r\n orgId: urlData.id\r\n }\r\n\r\n // отрисовка тарифа по услуге \r\n function _setInfo(data) {\r\n\r\n let id = data.Id,\r\n listInfo = data.ListInfo,\r\n txt = '';\r\n\r\n listInfo.forEach((tmpItem) => {\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Тип услуги:
    ';\r\n txt += '
    ' + tmpItem.tip + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Количество (объем) предоставляемой услуги в периоде:
    ';\r\n txt += '
    ' + tmpItem.kolv + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Единица предоставления:
    ';\r\n txt += '
    ' + tmpItem.s_edizm_nkod + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Тариф:
    ';\r\n txt += '
    ' + tmpItem.tarif + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Дата начала действия тарифа:
    ';\r\n txt += '
    ' + tmpItem.dataN + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Периодичность:
    ';\r\n txt += '
    ' + tmpItem.period + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Группы тарификации:
    ';\r\n txt += '
    ' + tmpItem.groupTarif + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    Форма обслуживания:
    ';\r\n txt += '
    ' + tmpItem.formobsl + '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n if (listInfo.length > 1 && listInfo.indexOf(tmpItem) != listInfo.length - 1)\r\n txt += '
    ' // палочка между тарифами\r\n });\r\n\r\n $(`#collapseStruct_${id}`).html(txt)\r\n }\r\n\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetTarifInfoFromServices\",\r\n data: \"{inputsParam:'\" + JSON.stringify(sendObj) + \"'}\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n success: function (response) {\r\n var data = JSON.parse(response.d);\r\n _setInfo(data);\r\n }\r\n });\r\n\r\n });\r\n\r\n}\r\n\r\n// информация о формах социального обслуживания\r\nexport function setFormsInfo(resp) {\r\n let text = '';\r\n\r\n if (!Object.keys(resp).length) {\r\n text = `

    Данные не были получены

    `\r\n $('.content_forms__container').html(text);\r\n return\r\n }\r\n resp.forEach((value, index, resp) => {\r\n let item = value;\r\n text += '
    ';\r\n text += '

    ' + core.replaceBrackets(value.caption) + '

    '\r\n text += '
      ';\r\n\r\n let item_arr = item.value;\r\n\r\n item_arr.forEach((value_, index_, item_arr) => {\r\n let usl = value_;\r\n text += '
    • ' + usl.v + '
    • ';\r\n })\r\n text += '
    ';\r\n })\r\n $('.content_forms__container').html(text);\r\n}\r\n\r\n// информация о лицензиях\r\nexport function setLicenseInfo(resp) {\r\n if (resp.length > 0) {\r\n $('.license_tbl').show();\r\n let text = '';\r\n resp.forEach((value, index, resp) => {\r\n let item = value;\r\n let docInfo = '№' + item.seria + ' ' + item.nomer + ' от ' + item.datd + ', действует от ' + item.sroks + ' ' + item.sved;\r\n text += '' + (index + 1) + '' + item.name + '' + docInfo + '' + item.org + '';\r\n if (item.imageid != '')\r\n text += '' + item.imagename + ' (Скачать)';\r\n text += '';\r\n })\r\n $('#license_tbl').html(text);\r\n }\r\n else\r\n $('.license_tbl__container').html('

    К сожалению нет информации о лицензиях данного поставщика

    ')\r\n}\r\n\r\n\r\nfunction getImage(imgId) {\r\n return './ASPWebDataServise.asmx/GetFile?id=' + imgId;\r\n //return './img.ashx?id=' + imgId;\r\n}\r\n\r\n//информация о свободных местах\r\nexport function setFreePlaseInfo(resp) {\r\n let text = '';\r\n if (resp.length > 0) {\r\n $('.free_place_tbl').show();\r\n let sum_sv = 0,\r\n sum_ob = 0;\r\n resp.forEach((value, index, resp) => {\r\n let item = value;\r\n if (parseInt(item.kolmest_sv) !== 0 || parseInt(item.kolmest_ob) !== 0) {\r\n sum_sv += parseInt(item.kolmest_sv);\r\n sum_ob += parseInt(item.kolmest_ob);\r\n text += '
    ';\r\n text += '
    Наименование
    ' + item.nkod + '
    ';\r\n text += '
    ';\r\n text += '
    Тип подразделения
    ' + item.tip_name + '
    ';\r\n text += '
    Адрес
    ';\r\n text += '
    ' + item.fra_addr + '
    ';\r\n text += '
    Форма обслуживания
    ';\r\n text += '
    ' + core.replaceBracketsArr(item.formobsl.substr(2), ';') + '
    ';\r\n text += '
    Категория граждан
    ';\r\n text += '
    ' + item.naimgr.substr(2) + '
    ';\r\n text += '
    Количество мест
    ';\r\n text += '
    всего мест: ' + item.kolmest_ob + ' свободно: ' + item.kolmest_sv + '
    ';\r\n }\r\n });\r\n\r\n\r\n let infoText = `
    \r\n
    \r\n
    Количество мест всего:
    \r\n
    ${sum_ob}
    \r\n
    \r\n
    \r\n
    Количество мест всего свободно:
    \r\n
    ${sum_sv}
    \r\n
    \r\n
    `;\r\n\r\n $('.free_place_tbl__containerr').html(infoText + text);\r\n\r\n }\r\n else\r\n $('.free_place_tbl__containerr').html('

    К сожалению нет информации о свободных местах

    ')\r\n}\r\n\r\n//информация о проверках\r\nexport function setVereficationInfo(resp) {\r\n if (resp.length > 0) {\r\n $('.verefication_tbl').show();\r\n let text = '';\r\n resp.forEach((value, index, resp) => {\r\n let item = value;\r\n text += '' + (index + 1) + '' + item.vid + '' + item.datprov + '' + item.s31 + ' ';\r\n if (item.id && item.filename)\r\n text += `${item.filename}(Скачать)`;\r\n text += '' + item.comment + ' ';\r\n })\r\n $('#verefication_tbl').html(text);\r\n }\r\n else {\r\n $('.vv_tbl__container').html('

    К сожалению нет информации

    ');\r\n }\r\n}\r\n\r\n//информация о нарушениях\r\nexport function setViolationsInfo(resp) {\r\n let text = '';\r\n if (resp.length > 0) {\r\n $('.violations_tbl').show();\r\n resp.forEach((value, index, resp) => {\r\n let item = value;\r\n let dat_ = (item.datustrP != '' ? 'Предписанная дата устранения нарушения: ' + item.datustrp : '') + '
    ' + (item.datustrf != '' ? ' Фактическая дата устранения нарушения:' + item.datustrf : '');\r\n text += '' + (index + 1) + '' + item.datprov + '' + item.narush + '' + dat_ + ' ';\r\n })\r\n $('#violations_tbl').html(text);\r\n }\r\n else $('.violations_tbl').hide();\r\n}\r\n\r\n// информация об опыте работы\r\nexport function setWorkInfo(resp) {\r\n let text = '';\r\n if (resp.length > 0) {\r\n $('.work_tbl').show();\r\n resp.forEach((value, index) => {\r\n let item = value,\r\n docinfo = ''\r\n if (item.nomer)\r\n docinfo += '№' + item.nomer\r\n if (item.datd)\r\n docinfo += ' от ' + item.datd\r\n if (item.sroks)\r\n docinfo += `${(docinfo ? ', ' : '')}действует c ` + item.sroks\r\n text += '' + (index + 1) + '' + item.s24 + '';\r\n if (docinfo)\r\n text += '' + docinfo + '';\r\n else\r\n text += 'Отсутствует'\r\n text += '
    ' + item.s31 + '
    '\r\n if (item.scanid != null && item.scanid != '')\r\n text += '' + item.filename + ' (Скачать)';\r\n text += ' ';\r\n });\r\n $('#work_tbl').html(text);\r\n }\r\n else\r\n $('.work_tbl__container').html('

    К сожалению нет информации об опыте работы организации за последние 5 лет

    ');\r\n}\r\n\r\nexport function setTarigTbl(resp) { \r\n if (resp && !('Description' in resp) && Object.keys(resp).length) {\r\n let tbody = ''\r\n resp.forEach((value, index) => {\r\n tbody += `\r\n\r\n ${index + 1} \r\n ${value.naim}\r\n ${value.info}\r\n \r\n ${(value.scandoc_id\r\n ? `\r\n ${(value.filename ? value.filename : 'Файл без названия')} (Скачать)\r\n `\r\n : 'Файл отсутствует')}\r\n\r\n`\r\n })\r\n let txt = `\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${tbody}\r\n \r\n
    N п/пНаименованиеДанные о документеФайл
    \r\n
    \r\n`\r\n $('.tarif_container').html(txt)\r\n } else {\r\n $('.tarif_container').html('

    К сожалению нет информации о уставных документах и свидетельствах

    ')\r\n }\r\n}\r\n\r\n// информация о тарифах на услуги\r\nexport function setTarifInfo(resp) {\r\n if (Object.entries(resp).length > 0 && Object.entries(resp.TarifList).length > 0) {\r\n var txt = '',\r\n arrTarif = resp.TarifList;\r\n if (arrTarif !== undefined) {\r\n\r\n //$('.selector_panel_tarif').show();\r\n\r\n txt += '
    ';\r\n txt += '
    ' + resp.Description + '
    ';\r\n txt += ' ';\r\n txt += ' ';\r\n txt += ' ';\r\n txt += ' ';\r\n txt += ' ';\r\n //txt += ' ';\r\n //txt += ' ';\r\n txt += ' ';\r\n txt += ' ';\r\n txt += '';\r\n\r\n arrTarif.forEach((value, index) => {\r\n txt += '';\r\n txt += '';\r\n txt += '';\r\n //txt += '';\r\n //txt += '';\r\n txt += '';\r\n txt += '';\r\n txt += ' ';\r\n });\r\n txt += '
    N п/пНаименование услугиТариф (руб) Дата начала действия тарифа
    ' + (index + 1) + '' + value.Description + '' + value.tarif + '' + value.dataN + '
    ';\r\n txt += '';\r\n\r\n let tarifList = value.TarifList;\r\n tarifList.forEach((tmpItem) => {\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += tmpItem.vid_uch && tmpItem.vid_uch !== 'не указано' ? `
    \r\n
    \r\n
    Вид учреждения:
    \r\n
    ${tmpItem.vid_uch}
    \r\n
    \r\n
    ` : ``;\r\n txt += tmpItem.tip && currentReg != 52 ? `
    \r\n
    \r\n
    Тип услуги:
    \r\n
    ${tmpItem.tip}
    \r\n
    \r\n
    ` : ``;\r\n txt += tmpItem.kolv ? `
    \r\n
    \r\n
    Количество (объем) предоставляемой услуги в периоде:
    \r\n
    ${tmpItem.kolv}
    \r\n
    \r\n
    ` : ``;\r\n txt += tmpItem.s_edizm_nkod ? `
    \r\n
    \r\n
    Единица предоставления:
    \r\n
    ${tmpItem.s_edizm_nkod}
    \r\n
    \r\n
    ` : ``;\r\n txt += tmpItem.tarif ? `
    \r\n
    \r\n
    Тариф:
    \r\n
    ${tmpItem.tarif}
    \r\n
    \r\n
    ` : ``;\r\n txt += currentReg != 52 ? `
    \r\n
    \r\n
    Дата начала действия тарифа:
    \r\n
    ${tmpItem.dataN ? tmpItem.dataN : tmpItem.datan}
    \r\n
    \r\n
    ` : '';\r\n txt += tmpItem.period ? `
    \r\n
    \r\n
    Периодичность:
    \r\n
    ${tmpItem.period}
    \r\n
    \r\n
    ` : ``;\r\n txt += tmpItem.s_gruptarif_nkod ? `
    \r\n
    \r\n
    Группа тарификации:
    \r\n
    ${tmpItem.s_gruptarif_nkod}
    \r\n
    \r\n
    ` : ``;\r\n txt += '
    ';\r\n txt += '
    ';\r\n if (tarifList.length > 1 && tarifList.indexOf(tmpItem) != tarifList.length - 1)\r\n txt += '
    ' // палочка между тарифами\r\n });\r\n txt += '
    ';\r\n txt += '
    ';\r\n }\r\n }\r\n else {\r\n //$('.selector_panel_tarif').hide();\r\n txt = '

    К сожалению нет информации о тарифах

    ';\r\n }\r\n $('.tarif_container').html(txt);\r\n}\r\n\r\n//заполнение селектора формы обслуживания\r\nexport function setFormsObslCntrl(resp) {\r\n var sendObj = {},\r\n urlData = core.urlToObj(false);\r\n\r\n if (Object.entries(resp).length > 0) {\r\n let txt = '';\r\n resp.forEach((value, index, resp) => {\r\n txt += '';\r\n });\r\n\r\n $('#formObslCntrl').html(txt).selectpicker('refresh');\r\n sendObj.idVidUsl = resp[0].k;\r\n }\r\n else {\r\n $('.selector_panel_tarif').hide();\r\n sendObj.idVidUsl = null;\r\n }\r\n\r\n sendObj.orgId = urlData.id;\r\n core.sentAjaxTo('GetDataforSelector', sendObj);\r\n};\r\n\r\n//заполнение селектора видов услуг\r\nexport function setVidUslCntrl(resp) {\r\n var urlData = core.urlToObj(false),\r\n sentObj = {};\r\n\r\n if (resp && resp.length > 0) {\r\n let txt = '';\r\n resp.forEach((value, index, resp) => {\r\n txt += '';\r\n })\r\n\r\n $('#vidUslCntrl').html(txt).selectpicker('refresh');\r\n sentObj.vidId = $('#vidUslCntrl').val();\r\n }\r\n sentObj.formId = $('#formObslCntrl').val();\r\n sentObj.orgId = urlData.id;\r\n sentObj.sfp = urlData.sfp;\r\n core.sentAjaxTo('GetTarifInfo', sentObj);\r\n}\r\n\r\n//иная информация\r\nexport function setOtherInfo(resp) {\r\n let yInfo = resp.yInfo;\r\n let docInfo = resp.docInfo;\r\n let text = '';\r\n if (yInfo != '') {\r\n $('.yInfo__container').show();\r\n $.each(yInfo, (index, value) => {\r\n $('#' + index).html(value);\r\n })\r\n }\r\n if (docInfo.length > 0) {\r\n $('.doc_tbl__container').show();\r\n let txt = '';\r\n docInfo.forEach((value, index, docInfo) => {\r\n txt += '' + (index + 1) + '' + (value.name == '' ? value.docname : value.name) + ' ' + (value.datd == '' ? 'нет данных' : ' от ' + value.datd + ', действует с ' + value.sroks) + '' + (value.orgname == '' ? 'нет данных' : value.orgname) + '';\r\n txt += '' + (value.scanfd != '' ? ' ' + value.filename + '' : '') + '';\r\n })\r\n\r\n $('#doc_tbl').html(txt);\r\n }\r\n else {\r\n $('.doc_tbl__container').show();\r\n $('.doc_tbl__container').html('

    К сожалению нет информации о документах

    ')\r\n }\r\n}\r\n\r\n//заполнение галереи\r\nexport function setPictInfo(resp) {\r\n if (resp.length > 0) {\r\n $('.pick_container').show();\r\n $('.pick_container').html('');\r\n let txt = '';\r\n resp.forEach((value) => {\r\n txt += '
    ';\r\n txt += '\"\"
    ';\r\n })\r\n $('.pick_container').html(txt)\r\n }\r\n else\r\n $('.pick_container').html('

    К сожалению нет информации

    ');\r\n}\r\n\r\n//обработчик клика по картинке из галереи\r\nexport function OpenModal(id) {\r\n let sendObj = {};\r\n let urlData = core.urlToObj(false);\r\n sendObj.orgId = urlData.id;\r\n sendObj.idPick = id;\r\n core.sentAjaxTo('GetGaleryInfo', sendObj);\r\n}\r\n\r\n//запрс на получение данных по раскрываемой картинке\r\nexport function setSinglePick(resp) {\r\n if (resp.length > 0) {\r\n let pick = resp[0];\r\n let txt = '';\r\n txt += '

    ' + (pick.filename == '' ? pick.docname : pick.filename) + '

    '\r\n $('.img_content').html(txt);\r\n $('#pickModal').modal('show');\r\n }\r\n else\r\n $('.info-container').html('

    К сожалению нет фото материалов

    ')\r\n}\r\n// заполнение коментариев \r\nexport function setRPostRating(resp) {\r\n let txt = '';\r\n if (resp.length == 0)\r\n txt = '

    К сожалению нет ни одной записи, будьте первым, кто оставит свой отзыв

    ';\r\n else\r\n resp.forEach((value, index, resp) => {\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ';\r\n txt += '
    ' + value.author + '
    ';\r\n txt += '
    Комментарий:
    ';\r\n txt += '
    ' + value.comment + '
    ';\r\n txt += '
    ' + (new Date(value.data) != 'Invalid Date' ? new Date(value.data).toLocaleString(\"ru\").split(\",\")[0] : value.data) + '
    Полезно?
    ';\r\n txt += '
    ' + (value.num_up == '' ? 0 : value.num_up) + '
    ';\r\n txt += '
    ' + (value.num_down == '' ? 0 : value.num_down) + '
    ';\r\n })\r\n $('.rating_container').html(txt);\r\n}\r\n\r\nexport function setCaptionGroupОfАctivities(response) {\r\n\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n if ($.isEmptyObject(response) || response.HasError || response.Result.length == 0) {\r\n $('.group-activities-container').html('

    К сожалению нет информации

    ');\r\n return false;\r\n }\r\n\r\n let listCaption = response.Result;\r\n if (listCaption.length == 0) {\r\n $('.group-activities-container').html('

    К сожалению нет информации

    ');\r\n return false;\r\n }\r\n\r\n $('.group-activities-container').html('')\r\n listCaption.forEach((value) => {\r\n let text = '',\r\n kod = value.Kod;\r\n text += '
    ';\r\n text += '
    ';\r\n //text += '

    ' + value.Caption + '

    ';\r\n text += `
      `;\r\n text += '
      {\r\n let A = JSON.parse(resp.d);\r\n if ($.isEmptyObject(A))\r\n return false;\r\n\r\n $(`.gac-${kod}`).html('');\r\n A.forEach((value, index) => {\r\n $(`.gac-${kod}`).append(`
    • ${(index + 1)}. ${value.nkod}
    • `);\r\n });\r\n })\r\n\r\n })\r\n\r\n}\r\n\r\nexport function setQuestionList(resp) {\r\n all_data = resp;\r\n createQuestion(all_data, 0);\r\n $('#modal_test').modal('toggle');\r\n}\r\nvar all_data = null,\r\n sendDataTest = [];\r\n\r\nvar createQuestion = function (d, count) {\r\n var objQuestion = d.questions[count];\r\n if (objQuestion) {\r\n $('.test-window').html('');\r\n var txt = '
      ';\r\n txt += '
      ';\r\n txt += '
      Вопрос ' + (count + 1) + ' из ' + all_data.questions.length + '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ' + objQuestion.caption + '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ' + objQuestion.name + '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n txt += '
      ';\r\n var answ = objQuestion.answers;\r\n txt += count > 0 ? '
      ' : '';\r\n answ.forEach((value, index, answ) => {\r\n txt += '
      ';\r\n\r\n })\r\n txt += '
      ';\r\n }\r\n else {\r\n var txt = '
      Опрос завершен. Спасибо за участие)
      ';\r\n sessionStorage.setItem('setQuestion', true);\r\n $('.start_an').hide();\r\n }\r\n $('.test-window').html(txt).addClass('text-center');\r\n};\r\n\r\nvar clickBtn = function (id) {\r\n\r\n var currId = parseInt($('.current-test').attr('id'));\r\n if (id !== 'back') {\r\n createQuestion(all_data, (currId + 1));\r\n var obj = {\r\n q_id: $('.question').attr('id'),\r\n a_id: id.split('_')[1],\r\n }\r\n if (sendDataTest[currId])\r\n sendDataTest[currId] = obj;\r\n else\r\n sendDataTest.push(obj);\r\n }\r\n else {\r\n createQuestion(all_data, (currId - 1));\r\n var arrItem = sendDataTest[currId - 1];\r\n var a_id = arrItem.a_id;\r\n $('#btn_' + a_id).addClass('active');\r\n }\r\n\r\n};\r\n\r\n\r\n\r\n//добавление коментария\r\nexport function setInfo() {\r\n let sendObj = {};\r\n let urlData = core.urlToObj(false);\r\n sendObj.orgId = urlData.id;\r\n\r\n let author = $('#author_').val()\r\n if (author == '') {\r\n alert('Заполните поле имя!')\r\n return;\r\n }\r\n sendObj.author = author;\r\n sendObj.comment = $('#comm_').val();\r\n core.sentAjaxTo('SetOrgRating', sendObj);\r\n sessionStorage.setItem('setComment', true);\r\n $('.comment-btn').hide();\r\n}\r\n\r\n// обработка результата после добавления отзыва\r\nexport function setRPostRatingData(resp) {\r\n if (resp === 'OK') {\r\n getInform(11);\r\n $('#author_').val('');\r\n $('#comm_').val('');\r\n }\r\n else alert('Что то пошло не так ;(')\r\n}\r\n\r\n// очистка полей при нажатии кнопки закрыть формы написания отзыва\r\nexport function clearComment() {\r\n $('#author_').val('');\r\n $('#comm_').val('');\r\n}\r\n\r\n//показать остаток символов\r\nfunction showCount() {\r\n let maxLength = $('#comm_').attr(\"maxlength\");\r\n lastSim.innerHTML = (maxLength - comm_.value.length);\r\n}\r\n\r\n//обработчик нажатия кнопки у отзыва\r\nexport function upDownBut_click(obj, id, idRow) {\r\n //state:null-впервые; num_up,num_down-предыдущие состояние\r\n var state = core.getCookie('currentUserState');\r\n if (state == undefined) {\r\n setNumUpDownState(id, obj.id, idRow, null);\r\n document.cookie = 'currentUserState =' + obj.id;\r\n }\r\n else {\r\n setNumUpDownState(id, obj.id, idRow, state);\r\n core.setCookie('currentUserState', obj.id);\r\n }\r\n}\r\n\r\n//добавление значения \"up\", \"down\"\r\nexport function setNumUpDownState(i, butCaption, idRow, state) {\r\n let sendObj = {};\r\n sendObj.idRow = idRow;\r\n sendObj.index = i;\r\n sendObj.butCaption = butCaption;\r\n sendObj.state = state;\r\n\r\n core.sentAjaxTo('SetNumUpDownStateRating', sendObj)\r\n\r\n}\r\n\r\n//обработчик запроса на добавление значения \"up\", \"down\"\r\nexport function setStateRating(resp) {\r\n $.each(resp, (index, value) => {\r\n $('#' + index).text(value);\r\n })\r\n}\r\n\r\n\r\nexport function setAuthorizedOrganizations(resp) {\r\n if (resp.length > 0) {\r\n $('.authorizedOrganizations-tbl-err').html('');\r\n $('.authorizedOrganizations-tbl').show();\r\n let text = '';\r\n resp.forEach((item, index) => {\r\n text += '' + (index + 1) + '' + item.caption + '' + item.forma + '' + item.comment + '';\r\n })\r\n $('#authorizedOrganizations-tbl').html(text);\r\n }\r\n else\r\n $('.authorizedOrganizations-tbl-err').html('

      К сожалению нет информации

      ')\r\n}\r\n\r\nexport function setFounders(resp) {\r\n\r\n if (resp.length > 0) {\r\n $('.founders-tbl-err').html('');\r\n $('.founders-tbl').show();\r\n let text = '';\r\n resp.forEach((item, index) => {\r\n text += '' + (index + 1) + '' + item.name + '' + item.addr + '' + item.faktaddr + '' + item.phone + '' + item.email + '';\r\n })\r\n $('#founders-tbl').html(text);\r\n }\r\n else\r\n $('.founders-tbl-err').html('

      К сожалению нет информации

      ')\r\n}\r\n\r\nexport function setInformationAboutGovernmentServices(resp) {\r\n\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n var rtrnList = (list) => {\r\n if (list && list.length > 0)\r\n return list.map(i => `
    • ${i.Caption}
    • `).join(' ');\r\n return 'нет сведений';\r\n }\r\n\r\n if (resp.length > 0) {\r\n $('.government-services-err').html('');\r\n //$('.government-services-success').show();\r\n let text = '';\r\n resp.forEach((item, index) => {\r\n let t = `
      \r\n
      \r\n
      Дата сведений
      \r\n
      ${item.Data}
      \r\n
      Значения нормативных затрат на оказание государственной (муниципальной) услуги
      \r\n
      ${item.StandartCost}
      \r\n
      Цена (тариф) на оказание государственной (муниципальной) услуги для получателей социального сертификата
      \r\n
      ${item.Tarif}
      \r\n
      Стоимость оказания государственной (муниципальной) услуги в объеме, превышающем определенный социальным сертификатом объем финансового обеспечения ее оказания
      \r\n
      ${item.Price}
      \r\n
      Сведения о порядке оказания государственной (муниципальной) услуги, включающие в себя в том числе сроки, условия и формы оказания государственной (муниципальной) услуги в социальной сфере в отношении получателей социального сертификата
      \r\n
      ${item.Order}
      \r\n
      Номер заключения соглашения о финансовом обеспечении (возмещении) затрат, связанных с оказанием государственных (муниципальных) услуг
      \r\n
      ${item.NumberOfAgreement}
      \r\n
      Дата заключения соглашения о финансовом обеспечении (возмещении) затрат, связанных с оказанием государственных (муниципальных) услуг
      \r\n
      ${(item.DateOfAgreement == null ? 'нет сведений' : item.DateOfAgreement)}
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      `;\r\n $('.government-services-success').append(t);\r\n });\r\n\r\n $('.view-services-btn').click(function (e) {\r\n e.preventDefault();\r\n let currId = e.currentTarget.id,\r\n ur = core.urlToObj(false);\r\n if (!currId)\r\n return;\r\n let id = currId.split('-')[1],\r\n promise = _fetchAsync(\"./ASPWebDataServise.asmx/\", 'GetInformationOnTheRegisterRecords', { orgId: ur.id, VsertosnpostId: id })\r\n .then(response => {\r\n let respServices = JSON.parse(response.d);\r\n if (respServices && respServices.length > 0) {\r\n $(`#collapse-base-${id}`).html('');\r\n respServices.forEach((item) => {\r\n let t = `
      \r\n
      \r\n
      Уникальный номер реестровой записи
      \r\n
      ${item.Nomer}
      \r\n
      Наименование государственной(муниципальной) услуги в социальной сфере
      \r\n
      ${item.Name}
      \r\n
      Условия (формы) оказания государственной (муниципальной) услуги в социальной сфере
      \r\n
      ${item.Formobsl}
      \r\n\r\n
      Показатели, характеризующие качество оказания государственной (муниципальной) услуги в социальной сфере
      \r\n
        ${rtrnList(item.ListIndicatorsQuality)}
      \r\n\r\n
      Признак
      \r\n
      ${item.IsFree}
      \r\n
      Категории потребителей государственных услуг в социальной сфере (государственных услуг в социальной сфере, составляющих укрупненную государственную услугу)
      \r\n
      ${item.Category}
      \r\n
      Предельный объем оказания государственной (муниципальной) услуги в социальной сфере, заявленный исполнителем услуг, человек
      \r\n
      ${item.LimitServiceScope}
      \r\n
      Объем оказания государственной (муниципальной) услуги (фактический), человек
      \r\n
      ${(item.ServiceScope == null ? 'нет сведений' : item.ServiceScope)}
      \r\n
      Свободный объем оказания государственной (муниципальной) услуги, человек
      \r\n
      ${(item.FreeServiceScope == null ? 'нет сведений' : item.FreeServiceScope)}
      \r\n
      \r\n
      \r\n
      `;\r\n $(`#collapse-base-${id}`).append(t);\r\n });\r\n }\r\n })\r\n });\r\n }\r\n else\r\n $('.government-services-err').html('

      К сожалению нет информации

      ')\r\n}","// #region методы pager\r\nvar drawfirst = function (data1) {\r\n $('.treatmet-pager').PagerPlugins({\r\n totalRows: data1.count,\r\n sendMethodCaption: \"./ASPWebDataServise.asmx/GetListOrg\",\r\n sendMethodObj: Reestr.setSearchParameter()\r\n },\r\n {\r\n show: function (data1) {\r\n draw(data1);\r\n }\r\n }\r\n );\r\n // draw(data1);\r\n};\r\n\r\nvar draw = function (resp) {\r\n Reestr.setOrgList(resp);\r\n};\r\n// #endregion\r\n\r\n// основной класс\r\nvar Reestr = (function () {\r\n const URL = './ASPWebDataServise.asmx/';\r\n let core = require('./core_last.js'); // TO DO: как только дойдут руки переписать нафиг весь core\r\n\r\n //To CORE!!!!\r\n var _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n };\r\n\r\n var _setCaptionColumn = (caption, sort, reg) => {\r\n var txt = '';\r\n if (sort == null && reg == null)\r\n txt = caption;\r\n else {\r\n txt += '
      ';\r\n txt += '
      ' + caption + '
      ';\r\n txt += '
      ' + sort + '
      ';\r\n txt += '
      ' + reg + '
      ';\r\n txt += '
      ';\r\n }\r\n return txt;\r\n }\r\n\r\n // устанавливает параметры с формы\r\n var _setSearchParameter = () => {\r\n let searchArr = $('#collapse_search_panel__form').serializeArray(),\r\n searchObj = {},\r\n searchKey = [];\r\n\r\n searchArr.forEach((item) => {\r\n if (!searchKey.includes(item.name) && item.value != '')\r\n searchKey.push(item.name)\r\n });\r\n\r\n searchKey.forEach((item) => {\r\n let A = searchArr.filter(x => x.name === item);\r\n if (A.length > 1) {\r\n let arrTmp = A.map(a => a.value.replace(/([^\"]+(?=\"))\"/g, '$1'));\r\n searchObj[item] = arrTmp;\r\n }\r\n else {\r\n let val = A[0].value;\r\n searchObj[item] = val.replace(/([^\"]+(?=\"))\"/g, '$1');\r\n }\r\n }); \r\n return searchObj;\r\n };\r\n\r\n // отрисовка pager вызов отрисовки данных\r\n var _setDataListOrg = response => {\r\n let a = JSON.parse(response.d);\r\n if ($.isEmptyObject(a) || a.HasError || a.count == 0) {\r\n $('.greed-region').hide();\r\n $('.message-region').show();\r\n\r\n core.stoptLoadingAnimation();\r\n\r\n return false;\r\n }\r\n\r\n $('.message-region').hide();\r\n $('.greed-region').show();\r\n\r\n _setOrgList(a);\r\n drawfirst(a);\r\n\r\n core.stoptLoadingAnimation();\r\n };\r\n\r\n //отрисовка всех данных после запроса\r\n var _setOrgList = (response) => {\r\n let obj = response.listOrg,\r\n count = response.count,\r\n sessionCount = sessionStorage.getItem('count'),\r\n txt = '',\r\n district = response.district;\r\n\r\n if (!sessionCount) {\r\n sessionStorage.setItem('count', count);\r\n $('#totalLbl').text('Поставщиков услуг в реестре: ' + count);\r\n }\r\n else if (sessionCount > count)\r\n $('#totalLbl').text('Поставщиков услуг в реестре: ' + sessionCount + '/ по фильтру: ' + count);\r\n else if (sessionCount == count)\r\n $('#totalLbl').text('Поставщиков услуг в реестре: ' + count);\r\n else\r\n $('#totalLbl').text('Поставщиков услуг в реестре: ' + count);\r\n\r\n if (district) {\r\n $('#isNotDistrictGrouping').hide();\r\n $('#allPage').hide();\r\n $('.has-district').html(txt);\r\n\r\n district.forEach(item => {\r\n\r\n let txt = `
      \r\n
      \r\n ${item.Caption !== 'я' ? item.Caption: ''}\r\n
      \r\n
      \r\n
      ${setOrganizationToDistrict(item.Id, obj)}
      \r\n
      \r\n
      `;\r\n\r\n $('.has-district').append(txt);\r\n });\r\n }\r\n else {\r\n $('#isNotDistrictGrouping').show();\r\n $('#allPage').show();\r\n var objTbl = {};\r\n objTbl.columns = [\r\n { \"name\": \"index\", \"title\": \"№\", \"style\": { \"text-align\": \"center\" } },\r\n { \"name\": \"name\", \"title\": \"Поставщик\" },\r\n { \"name\": \"tel\", \"title\": \"Контактный телефон\", \"breakpoints\": \"xs\" },\r\n { \"name\": \"addr\", \"title\": \"Адрес\", \"breakpoints\": \"xs\" },\r\n { \"name\": \"mail\", \"title\": \"Электронная почта\", \"breakpoints\": \"xs\" },\r\n { \"name\": \"id\", \"visible\": false },\r\n { \"name\": \"map\", \"title\": \"\", \"breakpoints\": \"xs\", \"style\": { \"text-align\": \"center\" } },\r\n ];\r\n objTbl.rows = [];\r\n\r\n obj.forEach((item, index) => {\r\n let tObj = {\r\n index: item.num,\r\n name: item.name == null ? '' : _setCaptionColumn(item.name, item.sortvid, item.reg),\r\n tel: item.tel == null ? 'не указан' : item.tel.split(';').filter(x => x != '').join('
      '),\r\n addr: item.addr == null ? 'не указан' : item.addr,\r\n mail: item.email == null ? 'не указан' : '' + item.email + '',\r\n id: item.id,\r\n map: (item.addr.indexOf('не заполнен') == -1 ? ' ' : '')\r\n };\r\n objTbl.rows.push(tObj);\r\n });\r\n jQuery('.res_grid_table').footable(objTbl);\r\n\r\n let pagecount = Math.ceil(count / response.listOrg.length);\r\n $('#allPage').text('Всего страниц: ' + pagecount);\r\n\r\n }\r\n };\r\n\r\n\r\n var setOrganizationToDistrict = (dId, obj) => {\r\n let A = obj.filter(x => x.regid == dId);\r\n\r\n let t = ` \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `;\r\n A && A.forEach(item => {\r\n t += `\r\n\r\n\r\n\r\n\r\n`;\r\n });\r\n\r\n t += `
      ПоставщикКонтактный телефон АдресЭлектронная почта
      ${_setCaptionColumn(item.name, item.sortvid, item.reg)}${item.tel.split(';').filter(x => x != '').join('
      ')}
      ${item.addr}${item.email == null ? 'не указан' : '' + item.email + ''}
      `;\r\n return t;\r\n\r\n }\r\n\r\n // #region EventFunction\r\n\r\n // ткнуть на кнопку поиска\r\n var _searchFunction = (e) => {\r\n core.startLoadingAnimation();\r\n let searchObj = _setSearchParameter(),\r\n promise = _fetchAsync(URL, 'GetListOrg', searchObj).then(response => _setDataListOrg(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n };\r\n\r\n // ткнуть на кнопку очистить\r\n var _clearFunction = (e) => {\r\n core.startLoadingAnimation();\r\n core.clear('collapse_search_panel__form');\r\n $('#org-yes').prop('checked', false);\r\n $('#org-no').prop('checked', false);\r\n\r\n let promise = _fetchAsync(URL, 'GetListOrg', {}).then(response => _setDataListOrg(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n };\r\n\r\n // ткнуть по строке таблицы\r\n var _rowClick = (e) => {\r\n e.preventDefault();\r\n var row = FooTable.getRow(e.currentTarget),\r\n value = row.val().id;\r\n if ($(event.target).hasClass('glyphicon'))\r\n window.location = './maps_last.html?orgId=' + value;\r\n else\r\n window.location = './org_last.html?id=' + value\r\n };\r\n\r\n // ткнуть \"Является уполномоченной организацией\"\r\n var _cntrlClick = (e) => {\r\n if ($('#' + e.currentTarget.id).is(':checked')) {\r\n $('#org-yes').prop('checked', false);\r\n $('#org-no').prop('checked', false);\r\n $('#' + e.currentTarget.id).prop('checked', true);\r\n\r\n if (e.currentTarget.id === 'org-yes')\r\n $('#isauthorized').val('1');\r\n else\r\n if (e.currentTarget.id === 'org-no')\r\n $('#isauthorized').val('0');\r\n }\r\n else\r\n $('#isauthorized').val('');\r\n };\r\n // #endregion\r\n\r\n // точка входа \r\n var init = () => {\r\n core.startLoadingAnimation();\r\n core.setControlforReestrListform(); // рисуем контролы поиска\r\n let promise = _fetchAsync(URL, 'GetListOrg', {}).then(response => _setDataListOrg(response), err => console.error(`ошибка при получении данных: ${err}`));\r\n };\r\n\r\n return {\r\n // public методы\r\n init: init,\r\n searchFunction: _searchFunction,\r\n clearFunction: _clearFunction,\r\n setOrgList: _setOrgList,\r\n setSearchParameter: _setSearchParameter,\r\n rowClick: _rowClick,\r\n cntrlClick: _cntrlClick\r\n };\r\n}());\r\n\r\n(function main() {\r\n $(\"body\").fadeIn(2000);\r\n\r\n $('#search--btn').on('click', Reestr.searchFunction);\r\n $('#clear--btn').on('click', Reestr.clearFunction);\r\n $('.res_grid_table').on('click', 'tr', Reestr.rowClick);\r\n $('.custom-control-input').on('click', Reestr.cntrlClick);\r\n Reestr.init();\r\n}());","var core = require('./core_last.js');\r\n\r\n$(document).ready(function () {\r\n $('body,html').animate({\r\n scrollTop: 0\r\n }, 400);\r\n\r\n $('form').submit(function (e) {\r\n getTurn(e);\r\n });\r\n\r\n $('#search_turn_btn').on('click', function (e) {\r\n getTurn(e);\r\n });\r\n\r\n $('.cancel-search').on('click', function (e) {\r\n $('input[name=\"turnCaption\"]').val('');\r\n\r\n let arr = ['has_result', 'has_message', 'has_error'];\r\n\r\n arr.forEach((value) => {\r\n $('#' + value).removeClass('show').addClass('fade');\r\n });\r\n });\r\n\r\n});\r\n\r\nfunction getTurn(e) {\r\n e.preventDefault();\r\n var sendObj = {};\r\n\r\n sendObj.turnCaption = $('input[name=\"turnCaption\"]').val();\r\n\r\n core.startLoadingAnimation();\r\n core.sentAjaxTo('GetTurn', sendObj);\r\n}\r\n\r\nfunction showObj(obj) {\r\n\r\n let arr = ['has_result', 'has_message', 'has_error'];\r\n\r\n arr.forEach((value) => {\r\n if (value === obj)\r\n $('#' + obj).removeClass('fade').addClass('show');\r\n else\r\n $('#' + value).removeClass('show').addClass('fade');\r\n });\r\n}\r\n\r\nexport function setResult(resp) {\r\n if (resp === null || resp === undefined) {\r\n $('.message').text('К сожаленю произошла ошибка получения данных с сервера.');\r\n showObj('has_error');\r\n return;\r\n }\r\n\r\n if (resp.HasError) {\r\n $('.message').text(resp.ErrorMessage);\r\n showObj('has_error');\r\n return;\r\n }\r\n\r\n if (resp.ErrorMessage) {\r\n $('.message').text(resp.ErrorMessage);\r\n showObj('has_message');\r\n return;\r\n }\r\n\r\n let res = resp.Result;\r\n showObj('has_result');\r\n\r\n $.each(res, (key, value) => {\r\n let tmp = $('.form-free').find('#' + key);\r\n if (tmp.length == 0)\r\n $(tmp).hide();\r\n else\r\n if (key === 'dateregoszn')\r\n value = new Date(value).toLocaleDateString();\r\n $('#' + key + '_').text(value);\r\n });\r\n}","var core = require('./core_last.js');\r\n\r\n$(document).ready(function () {\r\n $('body,html').animate({\r\n scrollTop: 0\r\n }, 400);\r\n getListOrgsforUsl();\r\n\r\n $('.list_type_org_container').draggable();\r\n});\r\n\r\n/**\r\n* Метод для построения запросов на сервер\r\n* @param {any} url\r\n* @param {any} caption\r\n* @param {any} body\r\n*/\r\nvar _fetchAsync = async (url, caption, body = null) => {\r\n let jb = {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n if (body !== null) {\r\n let sendJSON = JSON.stringify(body);\r\n jb.body = \"{inputsParam:'\" + sendJSON + \"'}\";\r\n\r\n }\r\n const promise = await fetch(url + caption, jb);\r\n return await promise.json();\r\n};\r\n\r\n\r\nfunction getListOrgsforUsl() {\r\n let send = core.urlToObj(false);\r\n if (send != null && send.uslId != null)\r\n {\r\n core.startLoadingAnimation();\r\n $('.list_type_org_container').show();\r\n core.sentAjaxTo('GetListOrgFromUsl', send);\r\n }\r\n else \r\n $('.list_type_org_container').hide();\r\n}\r\n\r\n\r\nexport function setListOrgFromUsl(resp) {\r\n let info = resp.info;\r\n let htmTxt = '';\r\n $('.block_header').html(resp.description);\r\n $('.list_type_org_count').html(info.length + ' организаций');\r\n info.forEach((value, index, info) => {\r\n htmTxt += '
      ';\r\n htmTxt += '
      ' + value.naimk + '
      ';\r\n htmTxt += '

      ' + value.fra_addr + '

      ';\r\n htmTxt += '

      Тел.: ' + value.ntel + '

      ';\r\n htmTxt += 'Подробнее
      ';\r\n })\r\n\r\n $('.list_type_org__body').html(htmTxt);\r\n\r\n}\r\n\r\n\r\n//свернуть развернуть\r\n//header = true иконка заголовка иначе иконка из списка\r\nexport function toggleElmnts(id, header) {\r\n let strClass = $('#' + id).find('i').attr('Class'),\r\n strStart = $('#' + id).find('i').attr('Class').indexOf(!header ? 'fa-toggle' : 'fa-chevron'),\r\n tStr = strClass.slice(strStart, strClass.length),\r\n strEnd = tStr.indexOf(' '),\r\n className = tStr.slice(0, (strEnd == -1 ? tStr.length : strEnd));\r\n\r\n if (!header) {\r\n if (className === 'fa-toggle-off')\r\n $('#' + id).find('i').removeClass('fa-toggle-off').addClass('fa-toggle-on');\r\n else\r\n $('#' + id).find('i').removeClass('fa-toggle-on').addClass('fa-toggle-off');\r\n event.stopPropagation();\r\n }\r\n else {\r\n if (className === 'fa-chevron-up')\r\n $('#' + id).find('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');\r\n else\r\n $('#' + id).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');\r\n $('#list_collapse').toggle(200);\r\n }\r\n}\r\n\r\nymaps.ready(init);\r\n\r\nfunction init() {\r\n\r\n var myMap = new ymaps.Map('map_usl', {\r\n center: core.getCoord(),\r\n zoom: 8,\r\n controls: ['zoomControl', 'typeSelector', 'fullscreenControl']\r\n }, {\r\n searchControlProvider: 'yandex#search'\r\n }),\r\n\r\n objectManager = new ymaps.ObjectManager({\r\n clusterize: false,\r\n gridSize: 64,\r\n clusterDisableClickZoom: true\r\n });\r\n\r\n\r\n //objectManager.objects.options.set('preset', 'islands#greenDotIcon');\r\n objectManager.clusters.options.set('preset', 'islands#invertedDarkBlueClusterIcons',\r\n 'groupByCoordinates', 'false',\r\n 'clusterDisableClickZoom', 'true',\r\n 'clusterHideIconOnBalloonOpen', 'false',\r\n 'geoObjectHideIconOnBalloonOpen', 'false',\r\n 'gridSize', '64',\r\n 'clusterDisableClickZoom', 'true');\r\n\r\n //обработка клика по организации \r\n $('.list_type_org__body').on('click', function (e) {\r\n var id = $(e.target).closest('.card').attr('id');\r\n var objectState = objectManager.getObjectState(id);\r\n\r\n if (objectState.isClustered) {\r\n objectManager.clusters.state.set('activeObject', objectManager.objects.getById(id));\r\n objectManager.clusters.balloon.open(objectState.cluster.id);\r\n } else {\r\n objectManager.objects.balloon.open(id);\r\n }\r\n })\r\n\r\n\r\n\r\n let send = core.urlToObj(false);\r\n let sendJSON = JSON.stringify(send);\r\n core.startLoadingAnimation();\r\n $.ajax({\r\n type: \"Post\",\r\n url: \"./ASPWebDataServise.asmx/GetListOrgFromUsl\",\r\n data: \"{inputsParam:'\" + sendJSON + \"'}\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n success: function (response) {\r\n let resp = JSON.parse(response.d)\r\n let info = resp.info;\r\n let coordInfo = {\r\n sumLat: 0,\r\n sumLong: 0,\r\n lngth:0\r\n } \r\n info.forEach(async (value, index, info) => { \r\n let lat = parseFloat(value.latitude)\r\n let long = parseFloat(value.longitude)\r\n if ('latitude' in value && 'longitude' in value && lat && long && lat < 90 && long < 180)\r\n AddItemNew(value, [value.longitude, value.latitude], coordInfo, index)\r\n else {\r\n await AddItem(value, index, coordInfo);\r\n }\r\n if (index == info.length - 1) { \r\n let coord;\r\n let centerCoord = core.getCoord()\r\n if (centerCoord[0] && centerCoord[1])\r\n coord = centerCoord\r\n else \r\n coord = [coordInfo.sumLong / coordInfo.lngth, coordInfo.sumLat / coordInfo.lngth]\r\n if (coordInfo.lngth)\r\n myMap.setCenter([coord[0], coord[1]], 7, {\r\n checkZoomRange: false\r\n })\r\n }\r\n }) \r\n\r\n if (resp.length > 1)\r\n setTimeout(function () {\r\n myMap.setBounds(myMap.geoObjects.getBounds());\r\n }, 1500); \r\n\r\n core.stoptLoadingAnimation();\r\n },\r\n error: function (request, error) {\r\n alert('error');\r\n }\r\n });\r\n\r\n function AddItemNew(org, arrPoint, coordInfo, ind) { \r\n if (arrPoint && arrPoint[0] && arrPoint[1]) {\r\n if (arrPoint[0])\r\n coordInfo.sumLat += parseFloat(arrPoint[0])\r\n if (arrPoint[1])\r\n coordInfo.sumLong += parseFloat(arrPoint[1])\r\n coordInfo.lngth++;\r\n }\r\n objectManager.add(createElemObjManager(org, arrPoint, ind));\r\n myMap.geoObjects.add(objectManager);\r\n }\r\n\r\n function AddItem(org, ind, coordInfo) {\r\n let key = core.getApiKey(),\r\n url = 'https://geocode-maps.yandex.ru/1.x/?apikey=' + key +'&format=json&geocode=' + JSON.stringify(org.fra_addr);\r\n let prom = $.get(url, function (data) { \r\n var arrPoint = data.response.GeoObjectCollection.featureMember[0].GeoObject.Point.pos.split(' ');\r\n if (arrPoint && arrPoint[0] && arrPoint[1]) {\r\n coordInfo.sumLat += parseFloat(arrPoint[0])\r\n coordInfo.sumLong += parseFloat(arrPoint[1])\r\n coordInfo.lngth++;\r\n }\r\n objectManager.add(createElemObjManager(org, arrPoint, ind));\r\n myMap.geoObjects.add(objectManager);\r\n \r\n _fetchAsync(\"./ASPWebDataServise.asmx/\", 'SetContactCoordinate', {\r\n orgId: org.id,\r\n latitude: arrPoint[1],\r\n longitude: arrPoint[0]\r\n });\r\n }).catch(_ => { console.error('Произошла ошибка при попытке получения адреса от яндекса: ' + JSON.parse(_.responseText).message) });\r\n return prom\r\n }\r\n\r\n function createCollectionObjManager(org, arrPoint, ind) {\r\n var feturesArr = [];\r\n feturesArr.push(createElemObjManager());\r\n\r\n var obj = {};\r\n obj.type = \"FeatureCollection\";\r\n obj.features = feturesArr;\r\n return obj;\r\n }\r\n\r\n function getColor(vidId) {\r\n var id = parseInt(vidId);\r\n var colorArr = ['#4682B4', '#FF4500', '#8A2BE2', '#A52A2A', '#0000FF', '#5F9EA0',\r\n '#FF0000', '#2E8B57', '#6A5ACD', '#FF6347',\r\n '#00FFFF', '#00008B', '#008B8B', '#B8860B', '#006400',\r\n '#8B008B', '#556B2F', '#FF8C00', '#8B0000', '#483D8B',\r\n '#2F4F4F', '#1E90FF', '#228B22', '#FF00FF', '#FFD700',\r\n '#20B2AA', '#87CEFA', '#0000CD', '#9370DB', '#FFA500',\r\n '#7FFF00', '#D2691E', '#FF7F50', '#6495ED', '#DC143C'\r\n ];\r\n\r\n var color = colorArr[0];\r\n\r\n if (id >= colorArr.length) {\r\n var colorId = Math.floor(colorArr.length / id);\r\n color = colorArr[colorId];\r\n }\r\n else\r\n color = colorArr[id];\r\n return color;\r\n }\r\n\r\n function rtrnBalun(value) {\r\n var txt = '
      ';\r\n txt += '
      ';\r\n txt += '
      ' + value.naimk + '
      ';\r\n txt += '
      ' + value.fra_addr + '
      ';\r\n txt += '
      ' + value.ntel + '
      ';\r\n txt += ' ';\r\n txt += '
      ';\r\n return txt;\r\n }\r\n\r\n function createElemObjManager(org, arrPoint, ind) {\r\n var obj = {};\r\n\r\n var geom = {};\r\n geom.type = 'Point',\r\n geom.coordinates = [arrPoint[1], arrPoint[0]];\r\n\r\n var prpty = {};\r\n prpty.id = org.id;\r\n prpty.balloonContent = rtrnBalun(org);\r\n // prpty.balloonContent = \"\" + org.naimk + \"
      \" + org.fra_addr + \"
      \" + (org.ntel != '' ? \" Тел.: \" + org.ntel : '') + \"
      подробнее...
      \",\r\n prpty.clusterCaption = 'Организация № ' + (ind + 1) + ' ',\r\n prpty.hintContent = org.naimk\r\n //prpty.iconCaption = org.id\r\n\r\n\r\n var opt = {};\r\n opt.preset = 'islands#StretchyIcon',\r\n opt.iconColor = getColor(1),\r\n opt.hideIconOnBalloonOpen = false;\r\n\r\n obj.type = 'Feature',\r\n obj.id = org.id,\r\n obj.vid = 0,\r\n obj.geometry = geom,\r\n obj.properties = prpty,\r\n obj.options = opt;\r\n\r\n return obj;\r\n\r\n }\r\n\r\n}"],"sourceRoot":""}