{"version":3,"sources":["scripts/app-5f2a6fc99a.js"],"names":["app","angular","module","config","$httpProvider","$stateProvider","$urlRouterProvider","otherwise","state","url","abstract","templateUrl","params","errorMsg","title","controller","apptView","patientId","apptId","recordId","defaults","useXDomain","headers","common","run","$rootScope","$location","$state","$http","appConfig","$window","deviceDetector","$httpService","appService","saldoService","get","then","setBaseUrl","data","apiServerUrl","storage","set","mediaUrl","ready","isReady","catalogs","load","session","init","$on","event","toState","toParams","fromState","fromParams","options","preventDefault","name","isAuthenticated","$$state","go","innerWidth","mobile","w","element","$watch","value","windowWidth","bind","$apply","dev","console","log","os","theme","globals","undefined","getLinesInStr","str","split","length","directive","priority","restrict","link","pre","scope","attrs","msg","confirm","stopImmediatePropagation","this","select","$timeout","trigger","focus","factory","id","document","getElementById","elem","attr","on","eventFocus","eventFocusId","off","sidebarDirective","newVal","addClass","removeClass","tapping","e","ngModel","Date","require","ngModelCtrl","$formatters","$parsers","filter","input","charAt","toUpperCase","substr","toLowerCase","$filter","decimals","decimalPoint","decimalCount","parseInt","$render","$modelValue","val","toFixed","toString","replace","unshift","newValue","floatValue","parseFloat","isNaN","strValue","$scope","l","k","which","target","localStorageServiceProvider","dialogsProvider","$translateProvider","setPrefix","setSize","useBackdrop","useEscClose","useCopy","translations","DIALOGS_ERROR","DIALOGS_ERROR_MSG","DIALOGS_CLOSE","DIALOGS_PLEASE_WAIT","DIALOGS_PLEASE_WAIT_ELIPS","DIALOGS_PLEASE_WAIT_MSG","DIALOGS_PERCENT_COMPLETE","DIALOGS_NOTIFICATION","DIALOGS_NOTIFICATION_MSG","DIALOGS_CONFIRMATION","DIALOGS_CONFIRMATION_MSG","DIALOGS_OK","DIALOGS_YES","DIALOGS_NO","preferredLanguage","localStorageService","serv","setGlobals","preferences","enableHtmlContent","setPreferences","setEnableHtmlContent","pref","reportsTemplates","setReportsTemplates","service","dialogs","count","mod","appReady","clear","usuario","Authorization","key","defaultValue","usu","isDefined","userId","token","notify","header","windowClass","size","error","create","ctrlr","opts","ctrlAs","cat","all","roles","medicos","especialidades","entidades","nacionalidades","ocupaciones","estadosCiviles","religiones","escolaridades","seguros","tiposSanguineos","tipoCita","copy","getDesc","descripcion","appHttpService","Upload","direct","post","baseUrl","login","auth","errOptions","apptsMedics","apptsGetAll","date","account","medic","apptSave","appt","option","send","apptCancel","cancel","apptDelete","delete","awayDateGetAll","awayDateAdd","awaydate","awayDateDelete","patientsSearch","searchText","patientDelete","accountId","patientGet","patientSave","patientView","patientGetHealthRecord","patientSaveHealthRecord","patientHRView","patientFilesGet","patientFilesDelete","fileId","patientsFilesAdd","upload","catGetUrl","catSearch","catSave","item","saveOption","catDelete","recordsGetAll","recordsGet","recordsSave","recordView","recordsItemDelete","reportsTemplateGet","reportId","myAccountChangePassword","oldPass","newPass","recordsGetLast","objectToParams","Object","keys","map","chartsGet","saldoGet","$httpErrorHandler","$q","getConfig","cfg","silent","isUndefined","request","errorFn","httpErrorMsgSilent","httpErrorMsg","showAlert","showConsole","startLoading","loading","loadingCount","stopLoading","p","injectParams","finally","deferred","defer","response","resolve","errors","err","throwError","reject","promise","status","httpServiceRun","String","prototype","format","args","arguments","match","number","res","message","type","exceptionMessage","statusText","alert","handled","apiUrl","errorHandlerOptions","postData","restService","mostrarActualizacion","nuevo","user","saldo","show","angularCSS","provider","rel","container","method","weight","DEBUG","debugMode","mode","$get","$injector","$compile","$log","$interpolate","$directiveAddEventListener","hasOwnProperty","$css","css","$routeEventListener","current","prev","remove","getFromRoute","concat","dynamicPaths","add","$stateEventListener","getFromState","mapBreakpointToMedia","stylesheet","breakpoints","breakpoint","media","parse","obj","isFunction","invoke","isString","extend","href","isArray","forEach","isObject","bustCache","queryString","indexOf","getTime","filterBy","array","prop","addViaMediaQuery","mediaQuery","matchMedia","mediaQueryListener","matches","stylesheets","push","index","splice","addListener","removeViaMediaQuery","removeListener","isMediaQuery","mediaQueriesToIgnore","template","startSymbol","endSymbol","querySelector","getElementsByTagName","$directives","route","result","$$route","cssItem","getFromRoutes","routes","views","children","child","childChild","itemCss","getFromStates","states","preload","callback","Array","apply","has","stylesheetLoadPromises","debug","$broadcast","persist","removeAll","originalModule","arraySelect","action","reduce","previous","arrayExists","originalDirective","directiveName","directiveFactory","originalDirectiveFactory","x","ddo","originalComponent","component","componentName","componentObject","$provide","$dir","$directive","dirProvider","decorator","$delegate","compile","linkArgs","a","b","c","d","f","g","h","hasClass","easing","to","height","scrollHeight","start","i","m","j","n","o","expanding","expanded","collapsing","collapsed","$eval","uibCollapse","constant","closeOthers","groups","isOpen","addGroup","removeGroup","controllerAs","transclude","heading","panelClass","isDisabled","setHeading","openClass","toggleClass","toggleOpen","$id","Math","floor","random","headingId","panelId","noop","uibAccordionTransclude","html","append","closeable","close","dismissOnTimeout","$parent","activeClass","toggleEvent","uibUncheckable","find","display","equals","uibBtnRadio","disabled","uncheckable","$setViewValue","$set","btnCheckboxTrue","btnCheckboxFalse","t","shift","q","slide","active","u","direction","s","enabled","$currentTransition","slides","r","getCurrentIndex","isNumber","pop","interval","next","pause","addSlide","sort","play","noWrap","removeSlide","indexOfSlide","isActive","noPause","$watchCollection","noTransition","actual","animation","beforeAddClass","done","beforeRemoveClass","join","regex","matcher","RegExp","setMinutes","getMinutes","getTimezoneOffset","parsers","formatters","year","formatter","setFullYear","abs","getFullYear","month","getMonth","test","DATETIME_FORMATS","MONTH","SHORTMONTH","getDate","DAY","SHORTDAY","hours","minutes","milliseconds","seconds","AMPMS","ERANAMES","ERAS","isDate","call","getHours","getSeconds","getMilliseconds","warn","setUTCFullYear","setUTCHours","setHours","toTimezone","fromTimezone","timezoneToOffset","addDateMinutes","convertTimezoneToLocal","some","lastActivated","watchFn","compareWithExp","watcher","targetScope","uibIsClass","normal","hidden","auto","primary","secondary","vertical","getRawNode","nodeName","parseStyle","isFinite","offsetParent","getComputedStyle","position","documentElement","scrollbarWidth","offsetWidth","clientWidth","isScrollable","overflow","overflowY","overflowX","scrollParent","parentElement","offset","top","marginTop","left","marginLeft","clientTop","scrollTop","clientLeft","scrollLeft","width","round","offsetHeight","getBoundingClientRect","pageYOffset","pageXOffset","viewportOffset","bottom","right","clientHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","parsePlacement","positionElements","placement","marginRight","marginBottom","positionArrow","datepickerMode","formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","maxDate","maxMode","minDate","minMode","ngModelOptions","shortcutPropagation","showWeeks","yearColumns","yearRows","datepickerOptions","modes","startingDay","FIRSTDAYOFWEEK","timezone","refreshView","initDate","activeDate","$isEmpty","$invalid","uniqueId","ngDisabled","compare","activeDateId","uid","$options","render","$viewValue","selectedDt","_refreshView","activeDt","$setValidity","createDateObject","label","selected","past","future","customClass","dateDisabled","$emit","move","step","years","months","toggleMode","13","32","33","34","35","36","37","38","39","40","keydown","shiftKey","altKey","stopPropagation","ctrlKey","handleKeyDown","setDate","getDay","setMonth","getDates","labels","abbr","full","rows","weekNumbers","min","yearpickerInit","columns","altInputFormats","appendToBody","clearText","closeOnDateSelection","closeText","currentText","datepickerPopup","datepickerPopupTemplateUrl","datepickerTemplateUrl","html5Types","datetime-local","onOpenFocus","showButtonBar","J","H","G","allowInvalid","ngRequired","I","contains","v","popupPlacement","z","y","A","B","C","D","E","F","K","L","M","watchData","datepickerAppendToBody","uibDatepickerPopup","$observe","Error","updateOnDefault","updateOn","ng-model","ng-model-options","ng-change","template-url","assign","defineProperty","$$parserName","$validators","$viewChangeListeners","after","$$phase","getText","dateSelection","slice","appendToOpenClass","open","getAutoClose","getToggleElement","getDropdownElement","focusToggleElement","isKeynavEnabled","focusDropdownEntry","$new","onToggle","dropdownAppendTo","dropdownAppendToBody","keyboardNav","dropdownMenu","toggle","toggleElement","autoClose","getElement","eq","selectedOption","window","dropdownMenuTemplateUrl","trim","replaceWith","$destroy","dropdownNested","aria-haspopup","aria-expanded","unbind","createNew","removeTop","entries","hasKey","put","resolver","setResolver","modalInClass","NOW_CLOSING_EVENT","modalOptions","backdropClass","windowTopClass","getTop","backdrop","currentTarget","dismiss","$isRendered","when","modalRendered","activeElement","modalAnimation","uibModalAnimationClass","empty","getClientRects","appendTo","modalDomEl","modalScope","openedClass","closedDeferred","leave","isDefaultPrevented","keyboard","loadFocusElementList","isFocusInFirstItem","isModalFocused","focusLastFocusableElement","isFocusInLastItem","focusFirstFocusableElement","defaultPrevented","renderDeferred","enter","windowTemplateUrl","window-class","window-top-class","animate","content","$$uibDestructionScheduled","modalOpener","dismissAll","srcElement","querySelectorAll","getPromiseChain","opened","closed","rendered","$close","$dismiss","$uibModalInstance","instance","bindToController","$onInit","setNumPages","numPages","_watchers","itemsPerPage","totalPages","calculateTotalPages","updatePage","ceil","totalItems","max","page","selectPage","blur","noPrevious","noNext","align","previousText","nextText","text","maxSize","rotate","forceEllipses","boundaryLinkNumbers","pageLabel","$page","identity","boundaryLinks","directionLinks","pages","firstText","lastText","placementClassPrefix","popupDelay","popupCloseDelay","useContentExp","mouseenter","click","outsideClick","none","setTriggers","hide","N","$evalAsync","S","Q","popupClass","P","R","O","$$postDigest","T","origScope","contentExp","U","V","W","tooltipTemplateTranscludeScope","parseAsResourceUrl","uibTooltipTemplateTransclude","tooltipAnimationClass","originScope","maxParam","bars","addBar","transition","recalculatePercentage","percent","removeBar","stateOn","stateOff","enableReset","titles","ratingStates","range","buildTemplateObjects","getTitle","rate","readonly","onHover","reset","onLeave","onKeydown","tabs","tab","onDeselect","$event","onSelect","addTab","removeTab","justified","classes","disable","$transcludeFn","tagName","hasAttribute","uibTabContentTransclude","headingElement","hourStep","minuteStep","secondStep","showMeridian","showSeconds","meridians","readonlyInput","mousewheel","arrowkeys","showSpinners","meridian","invalidHours","invalidMinutes","invalidSeconds","padHours","tabindex","removeAttr","setupMousewheelEvents","setupArrowkeyEvents","setupInputEvents","noIncrementHours","noDecrementHours","noIncrementMinutes","noDecrementMinutes","noIncrementSeconds","noDecrementSeconds","noToggleMeridian","$error","time","originalEvent","wheelDelta","deltaY","detail","incrementHours","decrementHours","incrementMinutes","decrementMinutes","incrementSeconds","decrementSeconds","updateHours","updateMinutes","updateSeconds","$setDirty","$setTouched","setSeconds","toggleMeridian","itemName","source","viewMapper","modelMapper","moveInProgress","$digest","Y","typeaheadMinLength","typeaheadWaitMs","typeaheadEditable","typeaheadLoading","typeaheadOnSelect","typeaheadSelectOnBlur","typeaheadNoResults","typeaheadInputFormatter","typeaheadAppendToBody","typeaheadAppendTo","typeaheadFocusFirst","typeaheadSelectOnExact","typeaheadIsOpen","typeaheadShowHint","getterSetter","$$$p","uibTypeahead","aria-autocomplete","aria-owns","clone","border-color","box-shadow","opacity","background","color","vertical-align","background-color","move-in-progress","query","assign-is-open","debounce","typeaheadTemplateUrl","typeaheadPopupTemplateUrl","activeIdx","X","model","debounceUpdate","Z","$","_","assignIsOpen","$item","$model","$label","typeaheadFocusOnSelect","parentNode","offsetTop","editable","aa","ba","popupTemplateUrl","selectActive","selectMatch","evt","trustAsHtml","$$csp","noInlineStyle","$$uibCarouselCss","prepend","$$uibPositionCss","$$uibDatepickerCss","$$uibTooltipCss","$$uibTimepickerCss","$$uibTypeaheadCss","exports","define","amd","ELEMENT_CLICKED","CLICK_AWAY","parent","colors","pick","onPick","nodeType","setAttribute","unselectable","firstChild","nextSibling","getElementsByClassName","symbols","symbol","style","removeEventListener","addEventListener","pageY","clientY","innerHeight","scrollTo","appendChild","getPropertyValue","setup","defaultView","createElement","className","border","backgroundColor","cursor","innerHTML","contentDocument","backgroundPos","pressed","command","commandParameter","specialCommand","faIcon","inner","change","editMode","cursorStyle","panelButtons","-","class","bold","italic","underline","strikethrough","subscript","superscript","leftAlign","centerAlign","rightAlign","blockJustify","orderedList","unorderedList","outdent","indent","removeFormatting","undo","redo","fontColor","image","hr","unlink","print","font","fontAwesome","toolbar","items","buttons","contentStyle","contents","execCommand","sub","alignment","arg","fonts","fontChange","fontsizes","mapFontSize","10","16","18","24","48","sizeChange","fontsize","styles","styleChange","textstyle","showFontColors","setFontColor","showBgColors","setBgColor","showSpecChars","insertSpecChar","insertLink","getSelection","focusNode","getSelectionBoundaryElement","createRange","setStart","setEnd","removeAllRanges","addRange","api","prompt","insertImage","write","designMode","body","head","sanitize","sync","ownerDocument","outerHTML","contentWindow","super","getRangeAt","rangeCount","restoreSelection","selection","collapse","deleteContents","createDocumentFragment","insertNode","cloneRange","setStartAfter","pasteHTML","view","frameElement","scrollBy","apiEditor","editorConfig","forms","changePass","newpass","newpass2","oldpass","server","respuesta","getLastCon","vm","movimientos","$interval","initialized","inter","table","table1","check","estatus","repetirMensaje","intervalo","stop","dialogOpen","$anchorScroll","$uibModal","open1","popup1","dateOptions","today","dt","mastercita","mensajes","pacienteTemp","newCita","toggleState","sendMessage","GetMedicos","selectedMedico","GetCitas","ChangeMedico","med","selectfirst","formatDate","noCuenta","idMedico","citas","appointments","VistaChange","unavaible","titulo","contenido","reason","CitaClass","filtered","vista","newDate1","UTC","toJSON","newDate","citasview","SelectCita","cita","myForm","$setPristine","appointmentId","citaDisponible","EstatusClass","enviar","lastName","motherLastName","email","personalPhone","insuranceId","nss","curp","catestatus","NombreClass","NuevoHorario","nuevaHora","medicId","motherlastName","statusName","isNew","Guardar","$valid","nueva","ip","tipoCitaId","accion","emailMsg","QuitarDisponibilidad","Delete","Cancelar","eliminar","falto","dlg","question","answer","resData","openList","search","selectedItem","conCambios","closeMensaje","beginAppointment","formdata","GetFechas","fechas","idRecepcionista","dateStart","dateEnd","Eliminar","removeAccents","buscarNombre","catalogue","contenidoPlaceholder","onTextClick","ok","selectItem","editItem","updateList","list","updateItem","createItem","base64Service","$stateParams","username","password","dataLoading","authBase64","encode","preLoginSuccess","cuenta","preferencias","role","base64","keyStr","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","charCodeAt","decode","base64test","exec","fromCharCode","original","master","grupos","paciente","gender","bloodType","birthDate","birthState","spouseBirthDate","Save","SavePaciente","withChanges","closeForm","$dirty","pacientes","openPaciente","op","sendData","sp","sitem","filterNombre","fullName","pacientesFiltrados","chartsService","$sce","age","importantNotes","lock","apiEditorMotivo","apiEditorPlan","calcularEdad","fini","ffin","ageDifMs","ageDate","getUTCFullYear","openPacienteList","loadPaciente","openConsultaView","rec","choice","View","New","now","historial","loadArchivos","archivos","turl","trustAsResourceUrl","consulta","openHistoriaClinica","patientHR","idcon","loadConsulta","somatometry","fechaUltimaRegla","fechaProbableParto","CalcIMC","chart","myChart","destroy","con","existsLocalCopy","loadLocalCopy","startLocalCopy","localCopy","localCopyTimer","stopLocalCopy","clearLocalCopy","note","motivo","plan","dxId","dxAccountId","dxCode","dxName","noteHtml","medicines","labTests","xrayTests","diagnoses","embarazo","pesoInicialEmbarazo","vitalSigns","CalcFPP","talla","imc","bmi","fum","moment","toDate","semanasGestacion","diff","openCatalogo","itemId","medicineDosage","diagnosisCode","addMed","medicineIndications","delMed","meditems","save","submitted","getClickClass","files","resizeIf","file","deleteFile","filedesc","uploadFiles","fileDescription","thumbnail","trustUrl","openReportViewer","reportData","record","patient","setPaciente","changeChart","chartId","ctx","getContext","Chart","InitPage","idPaciente","idCon","charts","datasets","helpers","alpha","rgbString","borderColor","fill","spanGaps","borderWidth","pointRadius","responsive","scales","xAxes","unit","displayFormats","distribution","scaleLabel","labelString","ticks","major","fontStyle","yAxes","calcIMC","peso","long","generate","loaded","calcLorentz","sexo","estatura","fact","pac","lorentz","gpe","lineTension","fillData","len","grafId","pcf","pesoFetal","y2","y4","y5","y6","y8","cv","edit","new","edicion","getReportTemplate","templates","cache","medicinesItems","labTestsItems","fillRecordItems","reportTemplate","itemTemplate","itemsArray","fillPatient","address","fillRecord","diastolicBloodPressure","systolicBloodPressure","fillReport","$templateCache"],"mappings":"AAAA,GAAIA,KAAMC,QAAQC,OAAO,OACpB,eAIG,YACA,aACA,UAEA,aACA,aACA,WACA,oBACA,YACA,WACA,cAIHC,QAAA,gBAAA,iBAAA,qBAAA,SAAAC,EAAAC,EAAAC,GAEGA,EAAmBC,UAAU,UAE7BF,EACKG,MAAM,OACHC,IAAK,OACLC,UAAU,EACVC,YAAa,2BAEhBH,MAAM,SACHC,IAAK,SACLG,QACIC,SAAU,MAEdC,MAAO,gBACPH,YAAa,6BACbI,WAAY,oBAEfP,MAAM,oBACHC,IAAK,gBACLG,QACII,SAAU,MAEdF,MAAO,QACPH,YAAa,2CACbI,WAAY,2BAEfP,MAAM,iBACHC,IAAK,aACLK,MAAO,gBACPH,YAAa,qCACbI,WAAY,wBAEfP,MAAM,eACHC,IAAK,qBACLG,QACIK,UAAW,KACXC,OAAQ,KACRC,SAAU,MAEdL,MAAO,YACPH,YAAa,iCACbI,WAAY,sBAEfP,MAAM,eACHC,IAAK,WACLK,MAAO,SACPH,YAAa,iCACbI,WAAY,sBAmDxBX,EAAcgB,SAASC,YAAa,QAC7BjB,GAAcgB,SAASE,QAAQC,OAAO,uBAE5CC,KAAK,aAAc,YAAa,SAAU,QAAS,YAAa,UAAW,iBAAkB,eAAgB,aAAa,eACvH,SAAUC,EAAYC,EAAWC,EAAQC,EAAOC,EAAWC,EAASC,EAAgBC,EAAcC,EAAWC,GAEzGN,EAAMO,IAAI,eAAeC,KAAK,SAAUjC,GACpC6B,EAAaK,WAAWlC,EAAOmC,KAAKC,cACpCN,EAAWO,QAAQC,IAAI,WAAYtC,EAAOmC,KAAKI,UAC/CjB,EAAWtB,OAASA,EAAOmC,KAC3BL,EAAWU,MAAMC,QAAQ,cACzBX,EAAWY,SAASC,OACpBb,EAAWc,QAAQD,OACnBZ,EAAac,SAGjBvB,EAAWwB,IAAI,oBACX,SAAUC,EAAOC,EAASC,EAAUC,EAAWC,EAAYC,GACvDL,EAAMM,iBACgB,SAAlBH,EAAUI,MAAoBxB,EAAWc,QAAQW,iBACjDC,QAAQC,GAAG,WAO3B9B,EAAQ+B,WAAa,MACrBpC,EAAWqC,QAAS,EAIxB,IAAIC,GAAI9D,QAAQ+D,QAAQlC,EACxBL,GAAWwC,OACT,WACIxC,EAAWqC,OAAShC,EAAQ+B,WAAa,KAE7C,SAAUK,GACNzC,EAAW0C,YAAcD,IAE7B,GAGFH,EAAEK,KAAK,SAAU,WACb3C,EAAW4C,UAKf,IAAIC,GAAMvC,CACVwC,SAAQC,IAAIF,GACZ7C,EAAWgD,GAAKH,EAAIG,GAMpBhD,EAAWiD,MAAQ7C,EAAU8C,UAAUD,MAAQ7C,EAAU8C,UAAUD,MAAQ,SAC3EjD,EAAWwC,OAAO,QAAS,SAAUC,GACpBU,QAATV,IACAzC,EAAWiD,MAAQR,KAK3BzC,EAAWoD,cAAgB,SAAUC,GACjC,MAAKA,GACEA,EAAIC,MAAM,cAAcC,OADd,KAOzBhF,KAAIiF,UAAU,WAAY,WACtB,OACIC,SAAU,IACVC,SAAU,IACVC,MACIC,IAAK,SAASC,EAAOtB,EAASuB,GAC1B,GAAIC,GAAMD,EAAME,SAAW,cAE3BzB,GAAQI,KAAK,QAAS,SAASlB,GACtBuC,QAAQD,KACTtC,EAAMwC,2BACNxC,EAAMM,wBAQ9BxD,IAAIiF,UAAU,gBAAiB,WAE3B,MAAO,UAAUK,EAAOtB,EAASuB,GAC7BvB,EAAQI,KAAK,QAAS,WAClBuB,KAAKC,cAKjB5F,IAAIiF,UAAU,oBACd,SAAUY,GACN,OACIP,OACIQ,QAAS,UAEbV,KAAM,SAAUE,EAAOtB,GACnBsB,EAAMrB,OAAO,UAAW,SAAUC,GAChB,SAAVA,GACA2B,EAAS,WACL7B,EAAQ,GAAG+B,QACX/B,EAAQ,GAAG4B,kBAUnC5F,IAAIgG,QAAQ,SAAA,WAAA,UAAA,SAAAH,EAAA/D,GACR,MAAO,UAASmE,GAKZJ,EAAS,WACL,GAAI7B,GAAUlC,EAAQoE,SAASC,eAAeF,EAC3CjC,IACCA,EAAQ+B,cAKxB/F,IAAIiF,UAAU,cAAA,QAAA,SAAAc,GACV,MAAO,UAAST,EAAOc,EAAMC,GACzBD,EAAKE,GAAGD,EAAKE,WAAY,WACrBR,EAAMM,EAAKG,gBAKflB,EAAMrC,IAAI,WAAY,WAClBmD,EAAKK,IAAIJ,EAAKE,kBAK1BvG,IAAIiF,UAAU,mBAAoB,WAC9B,OACIG,KAAM,SAAUE,EAAOtB,EAASqC,GAC5Bf,EAAMrB,OAAOoC,EAAKK,iBAAkB,SAAUC,GAC1C,MAAIA,OACA3C,GAAQ4C,SAAS,YAGrB5C,GAAQ6C,YAAY,cAMpC7G,IAAIiF,UAAU,SAAU,WACpB,MAAO,UAAUK,EAAOtB,EAASuB,GAC7B,GAAIuB,EACJA,IAAU,EACO,QAAbxB,EAAMb,IAA6B,YAAba,EAAMb,IAC5BT,EAAQI,KAAK,aAAc,SAAS2C,GAChC/C,EAAQ4C,SAAS,UACjBE,GAAU,IAEd9C,EAAQI,KAAK,YAAa,SAAS2C,GAC/B/C,EAAQ6C,YAAY,UACpBC,GAAU,IAEd9C,EAAQI,KAAK,WAAY,SAAS2C,GAC9B/C,EAAQ6C,YAAY,UAChBC,GACAxB,EAAMjB,OAAOkB,EAAM,MAAUvB,MAIrCA,EAAQI,KAAK,QAAS,SAAS2C,GAC3B/C,EAAQ6C,YAAY,UACpBvB,EAAMjB,OAAOkB,EAAM,MAAUvB,SAQ7C/D,QAAQC,OAAO,OAAO+E,UAAU,YAAa,WACzC,OACIE,SAAU,IACVG,OACI0B,QAAS,KAEb5B,KAAM,SAAUE,GACRA,EAAM0B,UAAS1B,EAAM0B,QAAU,GAAIC,MAAK3B,EAAM0B,cAK9DhH,IAAIiF,UAAU,aAAc,WACxB,OACEiC,QAAS,UACT9B,KAAM,SAASE,EAAOtB,EAASqC,EAAMc,GAGnCA,EAAYC,YAAYpC,OAAS,EACjCmC,EAAYE,SAASrC,OAAS,MAKtC/E,QAAQC,OAAO,OAAOoH,OAAO,aAAc,WACvC,MAAO,UAAUC,GACb,MAAUA,GAASA,EAAMC,OAAO,GAAGC,cAAgBF,EAAMG,OAAO,GAAGC,cAAgB,MAK3F1H,QAAQC,OAAO,OAAO+E,UAAU,YAAA,UAAA,SAAA2C,GAC5B,OACIzC,SAAU,IACV+B,QAAS,WACT5B,OACIuC,SAAU,IACVC,aAAc,KAElB1C,KAAM,SAAUE,EAAOtB,EAASqC,EAAMW,GAClC,GAAIe,GAAeC,SAAS1C,EAAMuC,WAAa,EAC3CC,EAAexC,EAAMwC,cAAgB,GAGzCd,GAAQiB,QAAU,WACa,MAAvBjB,EAAQkB,aAAuBlB,EAAQkB,aAAe,EAC1B,gBAAjBH,GACP/D,EAAQmE,IAAInB,EAAQkB,YAAYE,QAAQL,GAAcM,WAAWC,QAAQ,IAAK,MAE9EtE,EAAQmE,IAAInB,EAAQkB,YAAYG,WAAWC,QAAQ,IAAK,MAI5DtE,EAAQmE,IAAIvD,SAKpBoC,EAAQK,SAASkB,QAAQ,SAAUC,GAC/B,GAA4B,gBAAjBT,GAA2B,CAClC,GAAIU,GAAaC,WAAWF,EAASF,QAAQ,IAAK,KAClD,OAAqB,KAAjBP,EACOC,SAASS,GAEbC,WAAWD,EAAWL,QAAQL,IAGzC,MAAOW,YAAWF,EAASF,QAAQ,IAAK,QAI5CtE,EAAQsC,GAAG,SAAU,SAAUS,GAC3B,GAAI0B,GAAaC,WAAW1E,EAAQmE,MAAMG,QAAQ,IAAK,KACvD,KAAKK,MAAMF,IAAuC,gBAAjBV,GAC7B,GAAqB,IAAjBA,EACA/D,EAAQmE,IAAIH,SAASS,QAClB,CACH,GAAIG,GAAWH,EAAWL,QAAQL,EAClC/D,GAAQmE,IAAIS,EAASN,QAAQ,IAAKR,YAQ1D7H,QAAQC,OAAO,OAAO+E,UAAU,WAAY,WACxC,OACIE,SAAU,IACVC,KAAM,SAASyD,EAAQ7E,GACnBA,EAAQI,KAAK,QAAS,SAAS2C,GAC3B,GAAI+B,GAAId,SAAShE,EAAQqC,KAAK,cAAgB,iBAC1C0C,EAAIf,SAAShE,EAAQqC,KAAK,eAAiB,KAC/C,IAAIrC,EAAQmE,MAAMnD,SAAW8D,GAAK/B,EAAEiC,OAASD,EAC7C,CACI,GAAIE,GAAS/C,SAASC,eAAenC,EAAQqC,KAAK,SAClD9B,SAAQC,IAAIyE,GACTA,GACCA,EAAOlD,WAGhB7C,OACCA,MAAMM,qBAMtB,WACI,YAEA,IAAIxD,GAAMC,QAAQC,OAAO,YAAa,mBAAoB,qBAAsB,eAAgB,iBAC3FC,QAAA,8BAAA,kBAAA,qBAAA,SAAA+I,EAAAC,EAAAC,GACGF,EAA4BG,UAAU,eACtCF,EAAgBG,QAAQ,MACxBH,EAAgBI,YAAY,UAC5BJ,EAAgBK,aAAY,GAC5BL,EAAgBM,SAAQ,GAGxBL,EAAmBM,aAAa,SAC5BC,cAAe,QACfC,kBAAmB,wCACnBC,cAAe,SACfC,oBAAqB,mBACrBC,0BAA2B,sBAC3BC,wBAAyB,4CACzBC,yBAA0B,eAC1BC,qBAAsB,eACtBC,yBAA0B,0CAC1BC,qBAAsB,eACtBC,yBAA0B,4BAC1BC,WAAY,UACZC,YAAa,KACbC,WAAY,OAGhBpB,EAAmBqB,kBAAkB,YAExCjJ,KAAA,eAAA,SAAAQ,MAKThC,GAAIgG,QAAQ,aAAA,sBAAA,SAAA0E,GACR,GAAIC,IACAhG,QAAS,WAAc,MAAO+F,GAAoBvI,IAAI,gBACtDyI,WAAY,SAAU1G,GAASwG,EAAoBjI,IAAI,UAAWyB,IAClE2G,YAAa,WAAc,MAAOH,GAAoBvI,IAAI,iBAAoBnB,SAAU,IAAK8J,mBAAoB,IACjHC,eAAgB,SAAU7G,GAASwG,EAAoBjI,IAAI,cAAeyB,IAC1E8G,qBAAsB,SAAU9G,GAC5B,GAAI+G,GAAOtF,KAAKkF,aAChBI,GAAKH,kBAAoB5G,EACzByB,KAAKoF,eAAeE,IAExBC,iBAAkB,WAAc,MAAOR,GAAoBvI,IAAI,yBAC/DgJ,oBAAqB,SAAUjH,GAASwG,EAAoBjI,IAAI,mBAAoByB,IAGxF,OAAOyG,MAGX3K,EAAIoL,QAAQ,cAAA,sBAAA,UAAA,UAAA,QAAA,aAAA,SAAAV,EAAA9C,EAAAyD,EAAAzJ,EAAAH,GACR,GAAIkJ,IACAhI,OACI2I,MAAO,EACP1I,QAAS,SAAU2I,GACfhH,QAAQC,IAAI+G,EAAM,cAClBZ,EAAKhI,MAAM2I,QACc,IAArBX,EAAKhI,MAAM2I,QACX7J,EAAW+J,UAAW,KAKlCC,MAAQ,WACJd,EAAKnI,QAAQC,IAAI,UAAW,MAC5BkI,EAAK5H,QAAQ2I,QAAU9G,OACvB+F,EAAK5H,QAAQW,iBAAkB,EAC/B9B,EAAMR,SAASE,QAAQC,OAAOoK,cAAgB,SAGlDnJ,SACIC,IAAK,SAAUmJ,EAAK1H,GAASwG,EAAoBjI,IAAImJ,EAAK1H,IAC1D/B,IAAK,SAAUyJ,EAAKC,GAAgB,MAAOnB,GAAoBvI,IAAIyJ,IAAQC,IAG/E9I,SACID,KAAM,SAAUgJ,GACRA,EAAKnB,EAAKnI,QAAQC,IAAI,UAAWqJ,GAChCA,EAAMnB,EAAKnI,QAAQL,IAAI,WAC5BwI,EAAK5H,QAAQ2I,QAAUI,EACnB7L,QAAQ8L,UAAUD,IAAgB,OAARA,GAAgBA,EAAIE,OAAS,GAAKF,EAAIG,QAChErK,EAAMR,SAASE,QAAQC,OAAO,cAAmB,SAAWuK,EAAIG,MAChEtB,EAAK5H,QAAQW,iBAAkB,GAEnCiH,EAAKhI,MAAMC,QAAQ,YAGvBc,iBAAiB,GAGrB2H,SACIa,OAAQ,SAAUC,EAAQ3G,GAAO,MAAO6F,GAAQa,OAAOC,EAAQ3G,GAAO4G,YAAa,aAAcC,KAAM,QACvGC,MAAO,SAAUH,EAAQ3G,GAAO,MAAO6F,GAAQiB,MAAMH,EAAQ3G,GAAO4G,YAAa,kBACjF3G,QAAS,SAAU0G,EAAQ3G,GAAO,MAAO6F,GAAQ5F,QAAQ0G,EAAQ3G,GAAO4G,YAAa,gBAAiBC,KAAM,QAC5GE,OAAQ,SAAU9L,EAAK+L,EAAOlK,EAAMmK,EAAMC,GAAU,MAAOrB,GAAQkB,OAAO9L,EAAK+L,EAAOlK,EAAMmK,EAAMC,KAGtG7J,UACIC,KAAM,SAAU6J,GACRA,EAAKhC,EAAKnI,QAAQC,IAAI,YAAakK,GAClCA,EAAMhC,EAAKnI,QAAQL,IAAI,aAC5BwI,EAAK9H,SAAS+J,IAAMD,EACpBhC,EAAK9H,SAASgK,MAAQjF,EAAQ,UAAU+E,GAAOA,IAAK,UAAW,GAC/DhC,EAAK9H,SAASiK,QAAUlF,EAAQ,UAAU+E,GAAOA,IAAK,YAAa,GACnEhC,EAAK9H,SAASkK,eAAiBnF,EAAQ,UAAU+E,GAAOA,IAAK,mBAAoB,GACjFhC,EAAK9H,SAASmK,UAAYpF,EAAQ,UAAU+E,GAAOA,IAAK,cAAe,GACvEhC,EAAK9H,SAASoK,eAAiBrF,EAAQ,UAAU+E,GAAOA,IAAK,mBAAoB,GACjFhC,EAAK9H,SAASqK,YAActF,EAAQ,UAAU+E,GAAOA,IAAK,gBAAiB,GAC3EhC,EAAK9H,SAASsK,eAAiBvF,EAAQ,UAAU+E,GAAOA,IAAK,gBAAiB,GAC9EhC,EAAK9H,SAASuK,WAAaxF,EAAQ,UAAU+E,GAAOA,IAAK,eAAgB,GACzEhC,EAAK9H,SAASwK,cAAgBzF,EAAQ,UAAU+E,GAAOA,IAAK,gBAAiB,GAC7EhC,EAAK9H,SAASyK,QAAU1F,EAAQ,UAAU+E,GAAOA,IAAK,YAAa,GACnEhC,EAAK9H,SAAS0K,gBAAkB3F,EAAQ,UAAU+E,GAAOA,IAAK,kBAAmB,GACjFhC,EAAK9H,SAAS2K,SAAW5F,EAAQ,UAAU+E,GAAOA,IAAK,aAAc,GACrEhC,EAAKhI,MAAMC,QAAQ,aAEvB6K,KAAM,WAAc,MAAOxN,SAAQwN,KAAK9C,EAAK9H,WAC7C6K,QAAS,SAAUzH,GAAM,MAAO2B,GAAQ,UAAU+C,EAAK9H,SAAS+J,KAAO3G,GAAIA,IAAM,GAAM,GAAG0H,cAIlG,OAAOhD,MAGX3K,EAAIgG,QAAQ,eAAA,eAAA,iBAAA,SAAA,SAAAhE,EAAA4L,EAAAC,GACR,GAAIlD,IAEAmD,OAAQ,SAAUxL,GAAQ,MAAOsL,GAAeG,KAAK,SAAUzL,IAC/DT,UAAW,WAAc,MAAO8I,GAAKmD,QAASrK,KAAM,sBAAuB7C,aAM3EyB,WAAY,SAAU2L,GAAWhM,EAAaK,WAAW2L,IAGzDC,MAAO,SAAUC,EAAMC,GAAc,MAAOnM,GAAa+L,KAAK,QAASG,KAAUC,IAGjFC,YAAa,WAAc,MAAOR,GAAezL,IAAI,gBACrDkM,YAAa,SAAUC,EAAMC,EAASC,GAAS,MAAOZ,GAAezL,IAAI,cAAgBmM,EAAO,YAAcC,EAAU,UAAYC,IACpIC,SAAU,SAAUC,EAAMC,EAAQC,GAAQ,MAAOhB,GAAeG,KAAK,eAAiBY,EAAS,SAAWC,EAAMF,IAChHG,WAAY,SAAUC,EAAQH,GAAU,MAAOf,GAAeG,KAAK,sBAAwBY,EAAQG,IACnGC,WAAY,SAAU7N,GAAU,MAAO0M,GAAeoB,OAAO,QAAU9N,IAGvE+N,eAAgB,SAAUV,EAASC,GAAS,MAAOZ,GAAezL,IAAI,qBAAuBoM,EAAU,UAAYC,IACnHU,YAAa,SAAUC,GAAY,MAAOvB,GAAeG,KAAK,WAAYoB,IAC1EC,eAAgB,SAAUD,GAAY,MAAOvB,GAAeG,KAAK,kBAAmBoB,IAGpFE,eAAgB,SAAUd,EAASe,GAAc,MAAO1B,GAAezL,IAAI,6BAA+BoM,EAAU,eAAiBe,IACrIC,cAAe,SAAUtO,EAAWuO,GAAa,MAAO5B,GAAeoB,OAAO,cAAgB/N,EAAY,cAAgBuO,IAC1HC,WAAY,SAAUxO,EAAWuO,GAAa,MAAO5B,GAAezL,IAAI,cAAgBlB,EAAY,cAAgBuO,IACpHE,YAAa,SAAUC,EAAahB,GAAU,MAAOf,GAAeG,KAAK,kBAAoBY,EAAQgB,IAErGC,uBAAwB,SAAU3O,EAAWuO,GAAa,MAAO5B,GAAezL,IAAI,4BAA8BlB,EAAY,cAAgBuO,IAC9IK,wBAAyB,SAAUC,GAAiB,MAAOlC,GAAeG,KAAK,wBAAyB+B,IAExGC,gBAAiB,SAAU9O,GAAa,MAAO2M,GAAezL,IAAI,WAAalB,EAAY,YAC3F+O,mBAAoB,SAAUC,GAAU,MAAOrC,GAAeoB,OAAO,gBAAkBiB,IACvFC,iBAAkB,SAAUjP,EAAWqB,GAAQ,MAAOsL,GAAeuC,OAAO,WAAWlP,EAAU,SAAUqB,IAG3G8N,UAAW,SAAUzD,GACjB,GAAIlM,GAAM,IACV,QAAQkM,GACJ,IAAK,GAAGlM,EAAM,KAAO,MACrB,KAAK,GAAGA,EAAM,KAAO,MACrB,KAAK,GAAGA,EAAM,OAElB,MAAOA,IAEX4P,UAAW,SAAU1D,EAAK2C,GAAc,MAAO1B,GAAezL,IAAI,YAAcwD,KAAKyK,UAAUzD,GAAO,eAAiB2C,IACvHgB,QAAS,SAAU3D,EAAK4D,GACpB,GAAIC,GAAaD,EAAKtK,MAAO,GAAyB,IAAnBsK,EAAKf,UAAkB,EAAI,CAC9D,OAAO5B,GAAeG,KAAK,YAAcpI,KAAKyK,UAAUzD,GAAO,eAAiB6D,EAAYD,IAEhGE,UAAW,SAAU9D,EAAK1G,GAAM,MAAO2H,GAAeoB,OAAO,YAAcrJ,KAAKyK,UAAUzD,GAAK,IAAM1G,IAGrGyK,cAAe,SAAUzP,GAAa,MAAO2M,GAAezL,IAAI,mBAAqBlB,IACrF0P,WAAY,SAAUxP,GAAY,MAAOyM,GAAezL,IAAI,WAAahB,IACzEyP,YAAa,SAAUC,EAAYL,GAAc,MAAO5C,GAAeG,KAAK,sBAAwByC,EAAYK,IAGhHC,kBAAmB,SAAUnE,EAAK1G,GAAM,MAAO2H,GAAeoB,OAAO,WAAarJ,KAAKyK,UAAUzD,GAAK,IAAM1G,IAG5G8K,mBAAoB,SAAUC,GAAY,MAAOpD,GAAezL,IAAI,qBAAuB6O,IAG3FC,wBAAyB,SAAUC,EAASC,GAAW,MAAOvD,GAAeG,KAAK,4BAA8BmD,QAASA,EAASC,QAASA,KAC3IC,eAAgB,WAAc,MAAOxD,GAAezL,IAAI,uBAExDkP,eAAgB,SAAS/O,GACrB,MAAOgP,QAAOC,KAAKjP,GAAMkP,IAAI,SAAS5F,GAAM,OAAQnI,KAAMmI,EAAK1H,MAAO5B,EAAKsJ,OAI/E6F,UAAW,SAASnP,GAAQ,MAAOqI,GAAKmD,QAASrK,KAAM,mBAAoB7C,OAAQ+J,EAAK0G,eAAe/O,MAGvGoP,SAAU,SAASpP,GAAQ,MAAOqI,GAAKmD,QAASrK,KAAM,cAAe7C,aAMzE,OAAO+J,MAGP3K,EAAIgG,QAAQ,kBAAA,eAAA,oBAAA,UAAA,SAAA,aAAA,KAAA,SAAA,SAAAhE,EAAA2P,EAAAtG,EAAA1J,EAAAF,EAAAmQ,EAAA/D,GACR,GAAIlD,IAEAkH,UAAW,SAAS1R,GAChB,GAAI2R,GAAM3R,KAOV,OANA2R,GAAIC,QAAS9R,QAAQ+R,YAAYF,EAAIC,SAAcD,EAAIC,OACvDD,EAAIG,QAAUH,EAAIG,YAClBH,EAAIxF,MAAQwF,EAAIxF,UAChBwF,EAAIxF,MAAM4F,QAAUJ,EAAIxF,MAAM4F,UAAaJ,EAAIC,UAAS,EAAMpM,KAAKwM,mBAAmBxM,KAAKyM,cAC3FN,EAAIxF,MAAM+F,WAAYpS,QAAQ+R,YAAYF,EAAIxF,MAAM+F,YAAiBP,EAAIxF,MAAM+F,UAC/EP,EAAIxF,MAAMgG,cAAcrS,QAAQ+R,YAAYF,EAAIxF,MAAMgG,cAAkBR,EAAIxF,MAAMgG,YAC3ER,GAGXS,aAAc,SAAUR,GACjBA,KAAW,IACdtQ,EAAW+Q,SAAU,EACrB/Q,EAAWgR,aAAehR,EAAWgR,aAAehR,EAAWgR,aAAe,EAAI,IAGtFC,YAAa,SAAUX,GAChBA,KAAW,IACdtQ,EAAWgR,eACqB,IAA5BhR,EAAWgR,eAAoBhR,EAAW+Q,SAAU,KAG5DrQ,IAAK,SAAU1B,EAAKN,GAChBA,EAASwF,KAAKkM,UAAU1R,GACxBwK,EAAK4H,aAAapS,EAAO4R,OACzB,IAAIY,GAAI3Q,EAAaG,IAAIwD,KAAKiN,aAAanS,GAAMN,EAAO8R,QAAS9R,EAAOmM,MAExE,OADAqG,GAAEE,QAAQ,WAAWlI,EAAK+H,YAAYvS,EAAO4R,UACtCY,GAGX5E,KAAM,SAAUtN,EAAK6B,EAAMnC,GACvBA,EAASwF,KAAKkM,UAAU1R,GACxBwK,EAAK4H,aAAapS,EAAO4R,OACzB,IAAIY,GAAI3Q,EAAa+L,KAAKpI,KAAKiN,aAAanS,GAAM6B,EAAMnC,EAAO8R,QAAS9R,EAAOmM,MAE/E,OADAqG,GAAEE,QAAQ,WAAWlI,EAAK+H,YAAYvS,EAAO4R,UACtCY,GAGX3D,OAAQ,SAAUvO,EAAKN,GACnBA,EAASwF,KAAKkM,UAAU1R,GACxBwK,EAAK4H,aAAapS,EAAO4R,OACzB,IAAIY,GAAI3Q,EAAagN,OAAOrJ,KAAKiN,aAAanS,GAAMN,EAAO8R,QAAS9R,EAAOmM,MAE3E,OADAqG,GAAEE,QAAQ,WAAWlI,EAAK+H,YAAYvS,EAAO4R,UACtCY,GAGXxC,OAAQ,SAAU1P,EAAK6B,GACnBqD,KAAK4M,cACL,IAAIO,GAAWlB,EAAGmB,QACdJ,EAAI9E,EAAOsC,QAAS1P,IAAKuB,EAAagM,QAAUvN,EAAK6B,KAAMA,GAQ/D,OAPAqQ,GAAEvQ,KAAK,SAAU4Q,GACbF,EAASG,QAAQD,EAAS1Q,OAC3B,SAAU4Q,GACT,GAAIC,GAAMxB,EAAkByB,WAAWF,GAAUhB,QAASvH,EAAKyH,aAAcC,WAAW,EAAOC,aAAa,GAC5GQ,GAASO,OAAOF,KAEpBR,EAAEE,QAAQlI,EAAK+H,aACRI,EAASQ,SAGpBV,aAAc,SAAUnS,EAAKG,GACzB,MAAOH,IAGX2R,aAAc,SAAU9F,GACC,MAAjBA,EAAMiH,QACN5R,EAAOiC,GAAG,SAAW/C,SAAU,0BAInC0D,QAAQC,IAAI,kBAAmB8H,IAKnC6F,mBAAoB,SAAS7F,GACzB3B,EAAKyH,aAAa9F,GAAO,IAGjC,OAAO3B,SAIf,WACI,YAMA,SAAS6I,MAJT,GAAIxT,GAAMC,QAAQC,OAAO,sBAEzBF,GAAIwB,IAAIgS,GAMHC,OAAOC,UAAUC,SAClBF,OAAOC,UAAUC,OAAS,WACtB,GAAIC,GAAOC,SACX,OAAOlO,MAAK2C,QAAQ,WAAY,SAAUwL,EAAOC,GAC7C,MAA8B,mBAAhBH,GAAKG,GACbH,EAAKG,GACLD,MAMlB9T,EAAIgG,QAAQ,oBAAqB,WAC7B,GAAI2E,KAyCJ,OAvCAA,GAAKyI,WAAa,SAAUD,EAAK5P,GAC7B,GAAIyQ,KAmCJ,OAlCAzQ,GAAUA,MACVA,EAAQ8O,UAAY9O,EAAQ8O,YAAa,EACzC9O,EAAQ+O,YAAc/O,EAAQ+O,cAAe,EAEzC/O,EAAQ+O,aAAa/N,QAAQC,IAAI2O,GAEjCA,EAAII,UAAW,GACfS,EAAIC,QAAU,wCACdD,EAAI1H,MAAQ0H,EAAIC,QAChBD,EAAIE,MAAO,GAENf,EAAII,QAAU,KACnBS,EAAIC,QAAUd,EAAI7Q,KAAO6Q,EAAI7Q,KAAK6R,kBAAoBhB,EAAI7Q,KAAK2R,SAAWd,EAAI7Q,KAAO,GACjE,KAAhB0R,EAAIC,UAAgBD,EAAIC,QAAUd,EAAII,OAAS,IAAMJ,EAAIiB,YAEzDjB,EAAI7Q,KAAK2R,QACTD,EAAIE,KAAO,EAEXF,EAAIE,KAAO,IAGfF,EAAI1H,MAAQ,+BACZ0H,EAAIC,QAAUD,EAAI1H,MAClB0H,EAAIE,MAAO,GAIX3Q,EAAQ8O,WAAWgC,MAAML,EAAIC,SAEjCd,EAAImB,QAAUN,EAEVzQ,EAAQ2O,SACR3O,EAAQ2O,QAAQiB,GAEbA,GAGJxI,IAGX3K,EAAIgG,QAAQ,gBAAA,QAAA,oBAAA,KAAA,SAAApE,EAAA+P,EAAAC,GACR,GAAIjH,KAwCJ,OAvCAA,GAAKqD,QAAU,GACfrD,EAAKtI,WAAa,SAAU5B,GAAOkK,EAAKqD,QAAUvN,GAElDkK,EAAKxI,IAAM,SAAUoS,EAAQpU,EAAQqU,GACjCA,EAAsBA,KACtB,IAAI1B,GAAWlB,EAAGmB,OAOlB,OANAnR,GAAMO,IAAIwI,EAAKqD,QAAUuG,EAAQpU,GAAQiC,KAAK,SAAUE,GACpDwQ,EAASG,QAAQ3Q,EAAKA,OACvB,SAAU4Q,GACT,GAAIC,GAAMxB,EAAkByB,WAAWF,EAAQsB,EAC/C1B,GAASO,OAAOF,KAEbL,EAASQ,SAGpB3I,EAAKoD,KAAO,SAAUwG,EAAQE,EAAUtU,EAAQqU,GAC5CA,EAAsBA,KACtB,IAAI1B,GAAWlB,EAAGmB,OAOlB,OANAnR,GAAMmM,KAAKpD,EAAKqD,QAAUuG,EAAQE,EAAUtU,GAAQiC,KAAK,SAAUE,GAC/DwQ,EAASG,QAAQ3Q,EAAKA,OACvB,SAAU4Q,GACT,GAAIC,GAAMxB,EAAkByB,WAAWF,EAAQsB,EAC/C1B,GAASO,OAAOF,KAEbL,EAASQ,SAGpB3I,EAAKqE,OAAS,SAAUuF,EAAQpU,EAAQqU,GACpCA,EAAsBA,KACtB,IAAI1B,GAAWlB,EAAGmB,OAOlB,OANAnR,GAAMoN,OAAOrE,EAAKqD,QAAUuG,EAAQpU,GAAQiC,KAAK,SAAUE,GACvDwQ,EAASG,QAAQ3Q,EAAKA,OACvB,SAAU4Q,GACT,GAAIC,GAAMxB,EAAkByB,WAAWF,EAAQsB,EAC/C1B,GAASO,OAAOF,KAEbL,EAASQ,SAGb3I,OAKf,IAAI3K,KAAMC,QAAQC,OAAO,MACzBF,KAAIe,WAAW,oBAAA,SAAA,aAAA,cAAA,YAAA,UAAA,eAAA,WAAA,SAAA8H,EAAApH,EAAAiT,EAAA7S,EAAAwJ,EAAAnJ,EAAA2D,GAUX,QAAS7C,KACDvB,EAAWtB,OAAOwU,sBAClB9O,EAAS,WACLgD,EAAO+L,SACR,KAbX/L,EAAOgM,KAAOhT,EAAU8C,UACxBkE,EAAOiM,MAAQ,WACX5S,EAAa6S,QAEjBlM,EAAO+L,MAAQ,WACXvJ,EAAQkB,OAAO,+BAAgC,sBAAyBH,YAAa,iBAAkBC,KAAM,MAAQ,OAWzHrJ,OAYJ,SAAW/C,GAMT,GAAI+U,GAAa/U,EAAQC,OAAO,gBAGhCD,GAAQC,OAAO,gBACZsB,IAAI,WACH+C,QAAQ+H,MAAM,iGAIlB0I,EAAWC,SAAS,QAAS,WAG3B,GAAI7T,GAAWuE,KAAKvE,UAClB4C,QAAS,OACTkR,IAAK,aACLhB,KAAM,WACNiB,UAAW,OACXC,OAAQ,SACRC,OAAQ,GAGNC,GAAQ,CAGZ3P,MAAK4P,UAAY,SAASC,GAGtB,MAFIvV,GAAQ8L,UAAUyJ,KAClBF,EAAQE,GACLF,GAGX3P,KAAK8P,MAAQ,aAAa,YAAY,KAAK,UAAU,WAAW,WAAW,QAAQ,UAAU,OAAQ,eACzF,SAAchU,EAAYiU,EAAW9D,EAAI9P,EAAS+D,EAAU8P,EAAU/T,EAAOgG,EAASgO,EAAMC,GA0BtG,QAASC,GAA2B5S,EAAO+B,EAAWK,GAEhDA,GAASL,EAAU8Q,eAAe,QACpCC,EAAK5R,KAAKa,EAAUgR,IAAK3Q,GAO7B,QAAS4Q,GAAoBhT,EAAOiT,EAASC,GAEvCA,IACFJ,EAAKK,OAAOL,EAAKM,aAAaF,GAAMG,OAAOC,IAE3CA,EAAaxR,OAAS,GAGpBmR,GACFH,EAAKS,IAAIT,EAAKM,aAAaH,IAO/B,QAASO,GAAoBxT,EAAOiT,EAASvV,EAAQwV,GAE/CA,IACFJ,EAAKK,OAAOL,EAAKW,aAAaP,GAAMG,OAAOC,IAE3CA,EAAaxR,OAAS,GAGpBmR,GACFH,EAAKS,IAAIT,EAAKW,aAAaR,IAO/B,QAASS,GAAqBC,GACxB5W,EAAQ8L,UAAUxI,EAAQuT,eACxBD,EAAWE,aAAcxT,GAAQuT,cACnCD,EAAWG,MAAQzT,EAAQuT,YAAYD,EAAWE,mBAE7CF,GAAWC,aAOtB,QAASG,GAAMC,GACb,GAAKA,EAiCL,MA7BIjX,GAAQkX,WAAWD,KACrBA,EAAMjX,EAAQwN,KAAKiI,EAAU0B,OAAOF,KAGlCjX,EAAQoX,SAASH,KACnBA,EAAMjX,EAAQqX,QACZC,KAAML,GACL3T,IAGDtD,EAAQuX,QAAQN,IAAQjX,EAAQoX,SAASH,EAAI,KAC/CjX,EAAQwX,QAAQP,EAAK,SAAU3G,GAC7B2G,EAAMjX,EAAQqX,QACZC,KAAMhH,GACLhN,KAIHtD,EAAQyX,SAASR,KAASjX,EAAQuX,QAAQN,KAC5CA,EAAMjX,EAAQqX,UAAW/T,EAAS2T,IAGhCjX,EAAQuX,QAAQN,IAAQjX,EAAQyX,SAASR,EAAI,KAC/CjX,EAAQwX,QAAQP,EAAK,SAAU3G,GAC7B2G,EAAMjX,EAAQqX,OAAO/G,EAAMhN,KAI/BqT,EAAqBM,GACdA,EAqBT,QAASS,GAAUd,GACjB,IAAKA,EAEH,YADGvB,GAAOM,EAAKtJ,MAAM,2BAGvB,IAAIsL,GAAc,SAEdf,GAAWU,KAAKM,QAAQD,MAAiB,IAC3Cf,EAAWU,KAAOV,EAAWU,MAAQV,EAAWc,UAAYC,GAAe,GAAI3Q,OAAO6Q,UAAa,KAOvG,QAASC,GAASC,EAAOC,GACvB,MAAKD,IAAUC,EAIRrQ,EAAQ,UAAUoQ,EAAO,SAAUzH,GACxC,MAAOA,GAAK0H,UAJP3C,GAAOM,EAAKtJ,MAAM,wCAW3B,QAAS4L,GAAiBrB,GACxB,MAAKA,IAKLsB,EAAWtB,EAAWU,MAAQzV,EAAQsW,WAAWvB,EAAWG,OAE5DqB,EAAmBxB,EAAWU,MAAQ,SAASY,GAE7CtS,EAAS,WACP,GAAIsS,EAAWG,QAEb7W,EAAW8W,YAAYC,KAAK3B,OACvB,CACL,GAAI4B,GAAQhX,EAAW8W,YAAYV,QAAQjQ,EAAQ,UAAUnG,EAAW8W,aACtEhB,KAAMV,EAAWU,OAChB,GAECkB,MAAU,GACZhX,EAAW8W,YAAYG,OAAOD,EAAO,OAM7CN,EAAWtB,EAAWU,MAAMoB,YAAYN,EAAmBxB,EAAWU,WAEtEc,GAAmBxB,EAAWU,MAAMY,EAAWtB,EAAWU,aA1BnDjC,GAAOM,EAAKtJ,MAAM,2BAgC3B,QAASsM,GAAoB/B,GAC3B,MAAKA,QAKDpV,GAAcxB,EAAQ8L,UAAUoM,IAC/BA,EAAWtB,EAAWU,OACtBtX,EAAQ8L,UAAUsM,IACrBF,EAAWtB,EAAWU,MAAMsB,eAAeR,EAAmBxB,EAAWU,aAPpEjC,GAAOM,EAAKtJ,MAAM,2BAc3B,QAASwM,GAAajC,GACpB,MAAKA,MAMHA,EAAWG,OAEP+B,EAAqBlB,QAAQhB,EAAWG,UAAW,IAEpDlV,EAAQsW,iBATN9C,GAAOM,EAAKtJ,MAAM,2BArN3B,GAAI0J,MAEAgD,EAAW,oNAGfA,GAAWA,EACR1Q,QAAQ,MAAOuN,EAAaoD,eAC5B3Q,QAAQ,MAAOuN,EAAaqD,YAG/B,IAAIf,MAAiBE,KAAyBU,GAAwB,SAAUxV,EAAUtD,EAAQqX,UAAWlW,GAC3G+T,EAAYlV,EAAQ+D,QAAQkC,SAASiT,cAAgBjT,SAASiT,cAAc5V,EAAQ4R,WAAajP,SAASkT,qBAAqB7V,EAAQ4R,WAAW,IAClJqB,IAofF,OAjfAvW,GAAQwX,QAAQ4B,EAAa,SAAUpU,EAAW2G,GAC5C3G,EAAU8Q,eAAe,SAC3BsD,EAAYzN,GAAOqL,EAAMhS,EAAUgR,QAmGvCxU,EAAW8W,eAGXpD,EAAU5R,EAAQ6R,QAAQO,EAASqD,GAAUvX,IAG7CA,EAAWwB,IAAI,gBAAiB6S,GAGhCrU,EAAWwB,IAAI,sBAAuBiT,GAGtCzU,EAAWwB,IAAI,sBAAuByT,GAqGtCV,EAAKM,aAAe,SAAUgD,GAC5B,IAAKA,EAED,YADGhE,GAAOM,EAAKtJ,MAAM,qCAGzB,IAAI2J,GAAM,KAAMsD,IAuBhB,OAtBID,GAAME,SAAWF,EAAME,QAAQvD,IACjCA,EAAMqD,EAAME,QAAQvD,IAEbqD,EAAMrD,MACbA,EAAMqD,EAAMrD,KAGVA,IACEhW,EAAQuX,QAAQvB,GAClBhW,EAAQwX,QAAQxB,EAAK,SAAUwD,GACzBxZ,EAAQkX,WAAWsC,IACrBjD,EAAagC,KAAKvB,EAAMwC,IAE1BF,EAAOf,KAAKvB,EAAMwC,OAGhBxZ,EAAQkX,WAAWlB,IACrBO,EAAagC,KAAKvB,EAAMhB,IAE1BsD,EAAOf,KAAKvB,EAAMhB,MAGfsD,GAMTvD,EAAK0D,cAAgB,SAAUC,GAC7B,IAAKA,EAED,YADGrE,GAAOM,EAAKtJ,MAAM,uCAGzB,IAAIiN,KAQJ,OANAtZ,GAAQwX,QAAQkC,EAAQ,SAAUL,GAChC,GAAIrD,GAAMD,EAAKM,aAAagD,EACxBrD,GAAIjR,QACNuU,EAAOf,KAAKvC,EAAI,MAGbsD,GAMTvD,EAAKW,aAAe,SAAUnW,GAC5B,IAAKA,EAED,YADG8U,GAAOM,EAAKtJ,MAAM,qCAGzB,IAAIiN,KAkCJ,IAhCItZ,EAAQ8L,UAAUvL,EAAMoZ,QAC1B3Z,EAAQwX,QAAQjX,EAAMoZ,MAAO,SAAUrJ,GACjCA,EAAK0F,MACHhW,EAAQkX,WAAW5G,EAAK0F,MAC1BO,EAAagC,KAAKvB,EAAM1G,EAAK0F,MAE/BsD,EAAOf,KAAKvB,EAAM1G,EAAK0F,SAKzBhW,EAAQ8L,UAAUvL,EAAMqZ,WAC1B5Z,EAAQwX,QAAQjX,EAAMqZ,SAAU,SAAUC,GACpCA,EAAM7D,MACJhW,EAAQkX,WAAW2C,EAAM7D,MAC3BO,EAAagC,KAAKvB,EAAM6C,EAAM7D,MAEhCsD,EAAOf,KAAKvB,EAAM6C,EAAM7D,OAEtBhW,EAAQ8L,UAAU+N,EAAMD,WAC1B5Z,EAAQwX,QAAQqC,EAAMD,SAAU,SAAUE,GACpCA,EAAW9D,MACThW,EAAQkX,WAAW4C,EAAW9D,MAChCO,EAAagC,KAAKvB,EAAM8C,EAAW9D,MAErCsD,EAAOf,KAAKvB,EAAM8C,EAAW9D,WAQnChW,EAAQ8L,UAAUvL,EAAMyV,MACvBhW,EAAQ8L,UAAUvL,EAAM8B,OAASrC,EAAQ8L,UAAUvL,EAAM8B,KAAK2T,KACjE,CACA,GAAIA,GAAMzV,EAAMyV,KAAOzV,EAAM8B,KAAK2T,GAE9BhW,GAAQuX,QAAQvB,GAChBhW,EAAQwX,QAAQxB,EAAK,SAAU+D,GACzB/Z,EAAQkX,WAAW6C,IACrBxD,EAAagC,KAAKvB,EAAM+C,IAE1BT,EAAOf,KAAKvB,EAAM+C,OAIlB/Z,EAAQkX,WAAWlB,IACrBO,EAAagC,KAAKvB,EAAMhB,IAE1BsD,EAAOf,KAAKvB,EAAMhB,KAGtB,MAAOsD,IAMTvD,EAAKiE,cAAgB,SAAUC,GAC7B,IAAKA,EAED,YADG5E,GAAOM,EAAKtJ,MAAM,uCAGzB,IAAIiN,KAYJ,OAVAtZ,GAAQwX,QAAQyC,EAAQ,SAAU1Z,GAChC,GAAIyV,GAAMD,EAAKW,aAAanW,EACxBP,GAAQuX,QAAQvB,GAClBhW,EAAQwX,QAAQxB,EAAK,SAAUwD,GAC7BF,EAAOf,KAAKiB,KAGdF,EAAOf,KAAKvC,KAGTsD,GAMTvD,EAAKmE,QAAU,SAAU5B,EAAa6B,GAE/B7B,IACHA,KAEIc,EAAYrU,QACdqV,MAAM3G,UAAU8E,KAAK8B,MAAM/B,EAAac,GAGtC3D,EAAU6E,IAAI,WAChBF,MAAM3G,UAAU8E,KAAK8B,MAAM/B,EAAavC,EAAK0D,cAAchE,EAAUvT,IAAI,UAAUwX,SAGjFjE,EAAU6E,IAAI,WAChBF,MAAM3G,UAAU8E,KAAK8B,MAAM/B,EAAavC,EAAKiE,cAAcvE,EAAUvT,IAAI,UAAUA,QAErFoW,EAAcR,EAASQ,EAAa,YAEjCtY,EAAQuX,QAAQe,KACnBA,GAAeA,GAEjB,IAAIiC,KACJva,GAAQwX,QAAQc,EAAa,SAAS1B,EAAYjL,GAChDiL,EAAa0B,EAAY3M,GAAOqL,EAAMJ,GACtC2D,EAAuBhC,KAErB5W,EAAMO,IAAI0U,EAAWU,MAAMjL,MAAM,SAAU0G,GACpCsC,GAAOM,EAAKtJ,MAAM,kCAAoCuK,EAAWU,WAIxEtX,EAAQkX,WAAWiD,IACrBxI,EAAGhF,IAAI4N,GAAwBpY,KAAK,WAClCgY,EAAS7B,MAQdvC,EAAK5R,KAAO,SAAU6R,EAAKpN,GAC1B,IAAKoN,IAAQpN,EAET,YADGyM,GAAOM,EAAKtJ,MAAM,oCAGzB,IAAIiN,KAEAtZ,GAAQuX,QAAQvB,GAClBhW,EAAQwX,QAAQxB,EAAK,SAAUwD,GAC7BF,EAAOf,KAAKvB,EAAMwC,MAGpBF,EAAOf,KAAKvB,EAAMhB,IAEpBD,EAAKS,IAAI8C,GACNjE,GAAOM,EAAK6E,MAAM,qBAAsBlB,GAC3C1Q,EAAO5F,IAAI,WAAY,WACrB+S,EAAKK,OAAOkD,GACTjE,GAAOM,EAAK6E,MAAM,uBAAwBlB,MAOjDvD,EAAKS,IAAM,SAAU8B,EAAa6B,GAChC,MAAK7B,IAIAtY,EAAQuX,QAAQe,KACnBA,GAAeA,IAEjBtY,EAAQwX,QAAQc,EAAa,SAAS1B,GACpCA,EAAaI,EAAMJ,GAEfA,EAAWU,OAAS3P,EAAQ,UAAUnG,EAAW8W,aAAehB,KAAMV,EAAWU,OAAQvS,SAE3F2S,EAAUd,GAENiC,EAAajC,GACfqB,EAAiBrB,GAGjBpV,EAAW8W,YAAYC,KAAK3B,GAE3BvB,GAAOM,EAAK6E,MAAM,eAAiB5D,EAAWU,aAIrD9V,GAAWiZ,WAAW,UAAWnC,EAAa9W,EAAW8W,mBAvBlDjD,GAAOM,EAAKtJ,MAAM,6BA6B3B0J,EAAKK,OAAS,SAAUkC,EAAa6B,GACnC,MAAK7B,IAIAtY,EAAQuX,QAAQe,KACnBA,GAAeA,IAGjBA,EAAc3Q,EAAQ,UAAU2Q,EAAa,SAAU1B,GACrD,OAAQA,EAAW8D,UAErB1a,EAAQwX,QAAQc,EAAa,SAAS1B,GACpCA,EAAaI,EAAMJ,EAEnB,IAAI4B,GAAQhX,EAAW8W,YAAYV,QAAQjQ,EAAQ,UAAUnG,EAAW8W,aACtEhB,KAAMV,EAAWU,OAChB,GAECkB,MAAU,GACZhX,EAAW8W,YAAYG,OAAOD,EAAO,GAGvCG,EAAoB/B,GACjBvB,GAAOM,EAAK6E,MAAM,kBAAoB5D,EAAWU,YAGtD9V,GAAWiZ,WAAW,aAAcnC,EAAa9W,EAAW8W,mBAzBrDjD,GAAOM,EAAKtJ,MAAM,6BA+B3B0J,EAAK4E,UAAY,WAEXnZ,GAAcA,EAAWsU,eAAe,iBAC1CtU,EAAW8W,YAAYvT,OAAS,GAE/BsQ,GAAOM,EAAK6E,MAAM,4BAIvBzE,EAAKmE,UAEEnE,OASXhB,EAAW1N,OAAO,YAAa,WAC7B,MAAO,UAAUiR,GACf,IAAKA,IAAgBtY,EAAQuX,QAAQe,GACnC,MAAOA,EAET,IAAIgB,GAAS,EAMb,OALAtZ,GAAQwX,QAAQc,EAAa,SAAU1B,GACrC0C,GAAU,cAAgB1C,EAAW3B,IAAM,WAAa2B,EAAW3C,KAAO,WAAa2C,EAAWU,KAAO,IACzGgC,GAAW1C,EAAWG,MAAQ,WAAaH,EAAWG,MAAQ,IAAM,GACpEuC,GAAU,UAELA,KAOXvE,EAAWxT,KAAK,OAAQ,SAAUwU,MAMlC,IAAIqD,MACAwB,EAAiB5a,EAAQC,OACzB4a,EAAc,SAAS9C,EAAO+C,GAChC,MAAO/C,GAAMgD,OACX,SAASC,EAAU9E,GAEjB,MADA8E,GAASzC,KAAKuC,EAAO5E,IACd8E,QAGTC,EAAc,SAASlD,EAAO9T,GAChC,MAAO8T,GAAMH,QAAQ3T,IAAS,EAGhCjE,GAAQC,OAAS,WACf,GAAIA,GAAS2a,EAAeP,MAAM3U,KAAMkO,WACpCsH,EAAoBjb,EAAO+E,SAC/B/E,GAAO+E,UAAY,SAASmW,EAAeC,GACzC,GAAIC,GAA2Brb,EAAQkX,WAAWkE,GAClDA,EAAmBA,EAAiBA,EAAoBA,EAAiBrW,OAAS,EAAK,EACvF,KACE,GAAIC,GAAYhF,EAAQwN,KAAK6N,IAC7BrW,GAAUmW,cAAgBA,EACtBnW,EAAU8Q,eAAe,SAAWmF,EAAYJ,EAAYzB,EAAa,SAASkC,GAAI,MAAOA,GAAEC,IAAIJ,gBAAiBA,IACtH/B,EAAYb,MAAOgD,IAAKvW,EAAWqP,SAAS,IAE9C,MAAOvN,IACT,MAAOoU,GAAkBb,MAAM3U,KAAMkO,WAEvC,IAAI4H,GAAoBvb,EAAOwb,SAuC/B,OAtCAxb,GAAOwb,UAAY,SAAUC,EAAeC,GAK1C,MAJAA,GAAgBR,cAAgBO,EAC5BC,EAAgB7F,eAAe,SAAWmF,EAAYJ,EAAYzB,EAAa,SAASkC,GAAI,MAAOA,GAAEC,IAAIJ,gBAAiBO,IAC5HtC,EAAYb,MAAOgD,IAAKI,EAAiBtH,SAAS,IAE7CmH,EAAkBnB,MAAM3U,KAAMkO,YAEvC3T,EAAOC,QAAQ,WAAW,YAAa,SAAU0b,EAAUnG,GACzDzV,EAAQwX,QAAQ4B,EAAa,SAAUyC,GACrC,IAAKA,EAAKxH,QAAS,CACjB,GAAIyH,GAAaD,EAAKN,IAClBQ,EAAcD,EAAWX,cAAgB,WACzC1F,GAAU6E,IAAIyB,KAChBF,EAAKxH,SAAU,EACfuH,EAASI,UAAUD,GAAc,YAAa,aAAc,WAAY,SAAUE,EAAWza,EAAYoE,GACvG,GAAIZ,GAAYiX,EAAU,GACtBC,EAAUlX,EAAUkX,OAgBxB,OAfKlX,GAAUgR,MACbhR,EAAUgR,IAAM8F,EAAW9F,KAE7BhR,EAAUkX,QAAU,WAClB,GAAI/W,KAAO+W,GAAUA,EAAQ7B,MAAM3U,KAAMkO,UACzC,OAAO,UAASvO,GACd,GAAI8W,GAAWvI,SACfhO,GAAS,WACHT,GACFA,EAAKkV,MAAM3U,KAAMyW,KAGrB3a,EAAWiZ,WAAW,gBAAiBzV,EAAWK,KAG/C4W,YAMVhc,IAIRD;;;;;;;AAQAA,QAAQC,OAAO,gBAAgB,oBAAoB,wBAAwB,yBAAyB,qBAAqB,uBAAuB,wBAAwB,0BAA0B,uBAAuB,wBAAwB,0BAA0B,wBAAwB,wBAAwB,0BAA0B,qBAAqB,sBAAsB,qBAAqB,0BAA0B,uBAAuB,uBAAuB,2BAA2B,sBAAsB,oBAAoB,0BAA0B,2BAA2BD,QAAQC,OAAO,qBAAqB,8CAA8C,wCAAwC,gCAAgC,sCAAsC,mCAAmC,0CAA0C,mCAAmC,qCAAqC,qCAAqC,oCAAoC,mCAAmC,iCAAiC,gCAAgC,0CAA0C,+CAA+C,0CAA0C,mDAAmD,yCAAyC,6CAA6C,oCAAoC,oCAAoC,yCAAyC,4CAA4C,kCAAkC,6BAA6B,gCAAgC,0CAA0C,8CAA8C,gDAAgDD,QAAQC,OAAO,4BAA4B+E,UAAU,eAAe,WAAW,KAAK,SAAS,YAAY,SAASoX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAEjC,IAAI,eAAeiC,EAAEra,IAAI,eAAe,IAAK,QAAOiD,KAAK,SAASoX,EAAEC,EAAEC,GAAG,QAASC,KAAIF,EAAEG,SAAS,aAAaH,EAAEG,SAAS,OAAON,EAAErJ,QAAQnK,EAAE0T,IAAIpa,KAAK,WAAWqa,EAAE5V,YAAY,YAAYD,SAAS,cAAcP,KAAK,iBAAgB,GAAIA,KAAK,eAAc,GAAIU,EAAEA,EAAE0V,GAAG7V,SAAS,KAAKiW,OAAO,OAAOC,IAAIC,OAAON,EAAE,GAAGO,aAAa,QAAQC,QAAQ,QAAWC,GAAGb,EAAEzV,SAAS6V,EAAE,MAAMK,IAAIC,OAAON,EAAE,GAAGO,aAAa,QAAQ5a,KAAK8a,KAAK,QAASA,KAAIT,EAAE5V,YAAY,cAAcD,SAAS,YAAYqP,KAAK8G,OAAO,SAASI,EAAEX,GAAG,QAASY,KAAI,MAAOX,GAAEG,SAAS,aAAaH,EAAEG,SAAS,UAAWN,GAAErJ,QAAQoK,EAAEb,IAAIpa,KAAK,WAAWqa,EAAExG,KAAK8G,OAAON,EAAE,GAAGO,aAAa,OAAOnW,YAAY,YAAYD,SAAS,cAAcP,KAAK,iBAAgB,GAAIA,KAAK,eAAc,GAAIU,EAAEA,EAAE0V,GAAG5V,YAAY,KAAKiW,IAAIC,OAAO,OAAOE,QAAQ,QAAWlU,GAAGsT,EAAExV,YAAY4V,EAAE,MAAMK,IAAIC,OAAO,OAAO3a,KAAK2G,KAAKA,IAAI,QAASA,KAAI0T,EAAExG,KAAK8G,OAAO,MAAMN,EAAE5V,YAAY,cAAcD,SAAS,YAAY0W,EAAEd,GAAG,GAAI1T,GAAEyT,EAAEG,EAAEa,WAAWJ,EAAEZ,EAAEG,EAAEc,UAAUH,EAAEd,EAAEG,EAAEe,YAAYH,EAAEf,EAAEG,EAAEgB,UAAWlB,GAAEmB,MAAMjB,EAAEkB,cAAcnB,EAAE7V,SAAS,MAAMA,SAAS,YAAYP,KAAK,iBAAgB,GAAIA,KAAK,eAAc,GAAI4P,KAAK8G,OAAO,SAASP,EAAEvY,OAAOyY,EAAEkB,YAAY,SAASvB,GAAGA,EAAEe,IAAIT,WAAW1c,QAAQC,OAAO,0BAA0B,0BAA0B2d,SAAS,sBAAsBC,aAAY,IAAK/c,WAAW,0BAA0B,SAAS,SAAS,qBAAqB,SAASsb,EAAEC,EAAEC,GAAG5W,KAAKoY,UAAUpY,KAAKmY,YAAY,SAAStB,GAAG,GAAIzV,GAAE9G,QAAQ8L,UAAUuQ,EAAEwB,aAAazB,EAAEsB,MAAMrB,EAAEwB,aAAavB,EAAEuB,WAAY/W,IAAG9G,QAAQwX,QAAQ9R,KAAKoY,OAAO,SAAS1B,GAAGA,IAAIG,IAAIH,EAAE2B,QAAO,MAAOrY,KAAKsY,SAAS,SAAS5B,GAAG,GAAIC,GAAE3W,IAAKA,MAAKoY,OAAOvF,KAAK6D,GAAGA,EAAEpZ,IAAI,WAAW,SAASsZ,GAAGD,EAAE4B,YAAY7B,MAAM1W,KAAKuY,YAAY,SAAS7B,GAAG,GAAIC,GAAE3W,KAAKoY,OAAOlG,QAAQwE,IAAG,IAAKC,GAAG3W,KAAKoY,OAAOrF,OAAO4D,EAAE,OAAOrX,UAAU,eAAe,WAAW,OAAOlE,WAAW,yBAAyBod,aAAa,YAAYC,YAAW,EAAGzd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,4CAA4CsE,UAAU,oBAAoB,WAAW,OAAOiC,QAAQ,gBAAgBkX,YAAW,EAAG9V,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,+CAA+C2E,OAAO+Y,QAAQ,IAAIC,WAAW,KAAKN,OAAO,KAAKO,WAAW,MAAMxd,WAAW,WAAW4E,KAAK6Y,WAAW,SAASnC,GAAG1W,KAAK0Y,QAAQhC,IAAIjX,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAEyB,SAAS5B,GAAGA,EAAEoC,UAAUlC,EAAEkC,WAAW,aAAapC,EAAEiC,WAAW/B,EAAE+B,YAAY,gBAAgBjC,EAAEpY,OAAO,SAAS,SAASsY,GAAGD,EAAEoC,YAAYrC,EAAEoC,YAAYlC,GAAGA,GAAGC,EAAEsB,YAAYzB,KAAKA,EAAEsC,WAAW,SAASrC,GAAGD,EAAEkC,YAAYjC,GAAG,KAAKA,EAAEtT,QAAQqT,EAAE2B,QAAQ3B,EAAE2B,QAAS,IAAIjX,GAAE,kBAAkBsV,EAAEuC,IAAI,IAAIC,KAAKC,MAAM,IAAID,KAAKE,SAAU1C,GAAE2C,UAAUjY,EAAE,OAAOsV,EAAE4C,QAAQlY,EAAE,aAAa9B,UAAU,sBAAsB,WAAW,OAAOmZ,YAAW,EAAGpF,SAAS,GAAG1Q,SAAQ,EAAGpB,QAAQ,qBAAqB9B,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,EAAEzV,GAAGyV,EAAEgC,WAAWzX,EAAEsV,EAAEpc,QAAQif,WAAWja,UAAU,yBAAyB,WAAW,OAAOiC,QAAQ,qBAAqB9B,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGH,EAAEpY,OAAO,WAAW,MAAOuY,GAAED,EAAE4C,yBAAyB,SAAS9C,GAAG,GAAGA,EAAE,CAAC,GAAIE,GAAEtc,QAAQ+D,QAAQsY,EAAE,GAAGnD,cAAc,0BAA2BoD,GAAE6C,KAAK,IAAI7C,EAAE8C,OAAOhD,UAAUpc,QAAQC,OAAO,yBAAyBa,WAAW,sBAAsB,SAAS,SAAS,eAAe,WAAW,SAASsb,EAAEC,EAAEC,EAAEC,GAAGH,EAAEiD,YAAYhD,EAAEiD,KAAM,IAAIxY,GAAE9G,QAAQ8L,UAAUuQ,EAAEkD,kBAAkBjD,EAAED,EAAEkD,kBAAkBnD,EAAEoD,SAAS,IAAK1Y,IAAGyV,EAAE,WAAWH,EAAEkD,SAASvX,SAASjB,EAAE,QAAQ9B,UAAU,WAAW,WAAW,OAAOlE,WAAW,qBAAqBod,aAAa,QAAQxd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,iCAAiCyd,YAAW,EAAG9V,SAAQ,EAAGhD,OAAO4O,KAAK,IAAIqL,MAAM,QAAQtf,QAAQC,OAAO,2BAA2B2d,SAAS,mBAAmB6B,YAAY,SAASC,YAAY,UAAU5e,WAAW,wBAAwB,kBAAkB,SAASsb,GAAG1W,KAAK+Z,YAAYrD,EAAEqD,aAAa,SAAS/Z,KAAKga,YAAYtD,EAAEsD,aAAa,WAAW1a,UAAU,eAAe,SAAS,SAASoX,GAAG,OAAOnV,SAAS,cAAc,WAAWnG,WAAW,uBAAuBod,aAAa,UAAU/Y,KAAK,SAASkX,EAAEC,EAAEC,EAAEzV,GAAG,GAAI0V,GAAE1V,EAAE,GAAG2V,EAAE3V,EAAE,GAAG4V,EAAEN,EAAEG,EAAEoD,eAAgBrD,GAAEsD,KAAK,SAAS5J,KAAK6J,QAAQ,SAASpD,EAAEzU,QAAQ,WAAWsU,EAAEmC,YAAYjC,EAAEiD,YAAYzf,QAAQ8f,OAAOrD,EAAExU,YAAYoU,EAAEqB,MAAMnB,EAAEwD,gBAAgBzD,EAAEjW,GAAGmW,EAAEkD,YAAY,WAAW,IAAInD,EAAEyD,SAAS,CAAC,GAAI5D,GAAEE,EAAEK,SAASH,EAAEiD,eAAerD,GAAGpc,QAAQ8L,UAAUyQ,EAAE0D,eAAe5D,EAAEjY,OAAO,WAAWqY,EAAEyD,cAAc9D,EAAE,KAAKC,EAAEqB,MAAMnB,EAAEwD,cAActD,EAAEzU,eAAeuU,EAAEoD,gBAAgBtD,EAAErY,OAAO0Y,EAAE,SAASN,GAAGG,EAAE4D,KAAK,cAAc/D,EAAE,GAAG,eAAepX,UAAU,iBAAiB,WAAW,OAAOiC,SAAS,iBAAiB,WAAWnG,WAAW,uBAAuBod,aAAa,SAAS/Y,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,QAASzV,KAAI,MAAO2V,GAAEH,EAAE8D,iBAAgB,GAAI,QAAS5D,KAAI,MAAOC,GAAEH,EAAE+D,kBAAiB,GAAI,QAAS5D,GAAEJ,EAAEC,GAAG,MAAOtc,SAAQ8L,UAAUuQ,GAAGD,EAAEsB,MAAMrB,GAAGC,EAAE,GAAII,GAAEH,EAAE,GAAGU,EAAEV,EAAE,EAAGF,GAAEuD,KAAK,SAAS5J,KAAK6J,QAAQ,SAAS5C,EAAEjV,QAAQ,WAAWqU,EAAEoC,YAAY/B,EAAE+C,YAAYzf,QAAQ8f,OAAO7C,EAAEhV,YAAYnB,OAAOuV,EAAEhW,GAAGqW,EAAEgD,YAAY,WAAWpD,EAAE0D,UAAU5D,EAAEhY,OAAO,WAAW6Y,EAAEiD,cAAc7D,EAAEM,SAASD,EAAE+C,aAAajD,IAAI1V,KAAKmW,EAAEjV,kBAAkBhI,QAAQC,OAAO,4BAA4Ba,WAAW,yBAAyB,SAAS,WAAW,YAAY,WAAW,WAAW,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,GAAG,QAAS0V,KAAI,KAAK8D,EAAEvb,QAAQub,EAAEC,QAAQ,QAAS9D,GAAEL,GAAG,IAAI,GAAIC,GAAE,EAAEA,EAAEmE,EAAEzb,OAAOsX,IAAImE,EAAEnE,GAAGoE,MAAMC,OAAOrE,IAAID,EAAE,QAASM,GAAEJ,EAAEC,EAAEU,GAAG,IAAI0D,EAAE,CAAC,GAAG3gB,QAAQqX,OAAOiF,GAAGsE,UAAU3D,IAAIjd,QAAQqX,OAAOmJ,EAAEK,GAAGJ,WAAWG,UAAU3D,IAAInW,EAAEga,QAAQzE,KAAKD,EAAE2E,oBAAoBP,EAAEjE,GAAGxY,SAAS2O,EAAEsO,OAAOjc,OAAO,EAAE,CAACyb,EAAEjE,GAAGxY,QAAQ1B,KAAK4e,EAAE3E,EAAEsE,UAAW,IAAIzD,GAAEzK,EAAEwO,iBAAkBlhB,SAAQmhB,SAAShE,IAAIqD,EAAErD,GAAGpZ,SAASyc,EAAErD,GAAGpZ,QAAQ1B,KAAK4e,EAAE3E,EAAEsE,WAAWxE,EAAE2E,oBAAmB,EAAGja,EAAET,GAAG,WAAWma,EAAEjE,GAAGxY,QAAQ,SAASsY,EAAEC,GAAG,GAAG,UAAUA,IAAIF,EAAE2E,mBAAmB,KAAKja,EAAEN,IAAI,WAAW6V,GAAGiE,EAAEvb,QAAQ,CAAC,GAAIwX,GAAE+D,EAAEc,MAAMX,MAAMhE,EAAEF,EAAE/D,MAAMyE,EAAER,EAAE/J,EAAEwO,kBAAkB,OAAO,MAAO1E,KAAIE,EAAEH,EAAEE,EAAEQ,MAAMb,EAAEsE,OAAOpE,EAAE9D,MAAMqI,EAAEvE,EAAE9D,MAAMiE,EAAEF,GAAG1T,KAAK,QAASoU,GAAEb,GAAG,IAAI,GAAIC,GAAE,EAAEA,EAAEmE,EAAEzb,OAAOsX,IAAI,GAAGmE,EAAEnE,GAAGoE,QAAQrE,EAAE,MAAOC,GAAE,QAASc,KAAIC,IAAId,EAAEzN,OAAOuO,GAAGA,EAAE,MAAM,QAAStU,GAAEuT,GAAGA,EAAEtX,SAASqX,EAAE2E,mBAAmB,KAAKvE,KAAK,QAAS3T,KAAIsU,GAAI,IAAId,IAAGD,EAAEiF,UAAU3Y,MAAM2T,IAAIA,EAAE,IAAIe,EAAEd,EAAEY,EAAEb,IAAI,QAASa,KAAI,GAAIb,IAAGD,EAAEiF,QAAShE,KAAI3U,MAAM2T,IAAIA,EAAE,GAAGmE,EAAEzb,OAAOqX,EAAEkF,OAAOlF,EAAEmF,QAAQ,GAAInE,GAAEC,EAAE3K,EAAEhN,KAAK8a,EAAE9N,EAAEsO,OAAO5E,EAAE4E,UAAUC,EAAE,qBAAqBJ,EAAEzE,EAAEsE,OAAOJ,KAAKK,GAAE,CAAGjO,GAAE8O,SAAS,SAASnF,EAAEC,GAAGkE,EAAEjI,MAAMkI,MAAMpE,EAAEtY,QAAQuY,IAAIkE,EAAEiB,KAAK,SAASrF,EAAEC,GAAG,OAAOD,EAAEqE,MAAMjI,OAAO6D,EAAEoE,MAAMjI,SAAS6D,EAAE7D,QAAQ4D,EAAEsE,QAAQ,IAAIF,EAAEzb,SAAS/E,QAAQmhB,SAAS/E,EAAEsE,WAAWtE,EAAE2E,qBAAqB3E,EAAE2E,mBAAmB,MAAMF,EAAExE,EAAE7D,MAAM4D,EAAEsE,OAAOrE,EAAE7D,MAAMiE,EAAEoE,GAAGnO,EAAE/M,OAAO6a,EAAEvD,EAAEZ,KAAK,IAAImE,EAAEzb,QAAQqX,EAAEsF,SAAShP,EAAEwO,gBAAgB,WAAW,IAAI,GAAI9E,GAAE,EAAEA,EAAEoE,EAAEzb,OAAOqX,IAAI,GAAGoE,EAAEpE,GAAGqE,MAAMjI,QAAQqI,EAAE,MAAOzE,IAAG1J,EAAE4O,KAAKlF,EAAEkF,KAAK,WAAW,GAAIjF,IAAG3J,EAAEwO,kBAAkB,GAAGV,EAAEzb,MAAO,OAAO,KAAIsX,GAAGD,EAAEuF,aAAcvF,GAAEmF,QAAQ7O,EAAE/M,OAAO6a,EAAEnE,GAAG,SAAS3J,EAAEyD,KAAKiG,EAAEjG,KAAK,WAAW,GAAIkG,GAAE3J,EAAEwO,kBAAkB,EAAE,EAAEV,EAAEzb,OAAO,EAAE2N,EAAEwO,kBAAkB,CAAE,OAAO9E,GAAEuF,UAAUtF,IAAImE,EAAEzb,OAAO,MAAOqX,GAAEmF,QAAQ7O,EAAE/M,OAAO6a,EAAEnE,GAAG,SAAS3J,EAAEkP,YAAY,SAASvF,GAAG,GAAIC,GAAEW,EAAEZ,GAAGE,EAAE+D,EAAE1I,QAAQ4I,EAAElE,KAAI,IAAKC,GAAG+D,EAAE7H,OAAO8D,EAAE,GAAGiE,EAAE/H,OAAO6D,EAAE,GAAGkE,EAAEzb,OAAO,GAAG8b,IAAIvE,EAAEA,GAAGkE,EAAEzb,QAAQ8b,EAAEL,EAAEzb,OAAO,EAAEqX,EAAEsE,OAAOG,EAAEpE,EAAEoE,GAAGnO,EAAE/M,OAAO6a,EAAEA,EAAEzb,OAAO,MAAM8b,EAAEvE,EAAEF,EAAEsE,OAAOG,EAAEpE,EAAEoE,GAAGnO,EAAE/M,OAAO6a,EAAElE,KAAKuE,EAAEvE,IAAIuE,IAAIzE,EAAEsE,OAAOG,GAAG,IAAIL,EAAEzb,SAAS8b,EAAE,KAAKzE,EAAEsE,OAAO,KAAKlE,MAAM9J,EAAE/M,OAAOyW,EAAEzW,OAAO,SAAS0W,EAAEC,GAAG,GAAIC,GAAEU,EAAEZ,EAAEoE,MAAO,UAASnE,IAAIA,EAAEC,EAAE7J,EAAEwO,kBAAkB,OAAO,QAAQ7E,EAAEoE,MAAMjI,QAAQqI,GAAGzE,EAAE2E,mBAAmB1E,GAAGA,EAAEoE,MAAMjI,QAAQqI,GAAGzE,EAAE2E,oBAAoBT,EAAE/H,KAAKiI,EAAEjE,IAAIG,EAAEL,EAAEoE,MAAMlE,EAAED,IAAIF,EAAEyF,aAAa,SAASzF,GAAG,OAAOA,EAAEqE,MAAMjI,OAAO4D,EAAE0F,SAAS,SAASzF,GAAG,MAAOD,GAAEsE,SAASrE,EAAEoE,MAAMjI,OAAO4D,EAAEmF,MAAM,WAAWnF,EAAE2F,UAAU1E,GAAE,EAAGF,MAAMf,EAAEsF,KAAK,WAAWrE,IAAIA,GAAE,EAAGxU,MAAMuT,EAAEpZ,IAAI,WAAW,WAAW2d,GAAE,EAAGxD,MAAMf,EAAEpY,OAAO,eAAe,SAASoY,GAAGtV,EAAEga,QAAQzE,GAAGD,KAAKA,EAAEpY,OAAO,WAAW6E,GAAGuT,EAAE4F,iBAAiB,SAASlZ,GAAGsT,EAAEpY,OAAO,SAAS,SAASoY,GAAG,GAAGpc,QAAQmhB,SAAS/E,IAAIyE,IAAIzE,EAAE,CAAC,IAAI,GAAIC,GAAE,EAAEA,EAAEmE,EAAEzb,OAAOsX,IAAI,GAAGmE,EAAEnE,GAAGoE,MAAMjI,QAAQ4D,EAAE,CAACA,EAAEC,CAAE,OAAM,GAAIC,GAAEkE,EAAEpE,EAAGE,KAAIuE,EAAEzE,EAAEK,EAAEL,GAAG1J,EAAE/M,OAAO6a,EAAEpE,WAAWpX,UAAU,cAAc,WAAW,OAAOmZ,YAAW,EAAG9V,SAAQ,EAAGvH,WAAW,wBAAwBod,aAAa,WAAWxd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,uCAAuC2E,OAAOqb,OAAO,IAAIW,SAAS,IAAIY,aAAa,IAAIF,QAAQ,IAAIJ,OAAO,QAAQ3c,UAAU,WAAW,WAAW,OAAOiC,QAAQ,eAAekX,YAAW,EAAG9V,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,oCAAoC2E,OAAO6c,OAAO,KAAK1J,MAAM,MAAMrT,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAEiF,SAASpF,EAAEC,GAAGD,EAAEpZ,IAAI,WAAW,WAAWuZ,EAAEqF,YAAYxF,SAAS+F,UAAU,SAAS,cAAc,SAAS/F,GAAG,QAASC,GAAED,EAAEC,EAAEC,GAAGF,EAAExV,YAAYyV,GAAGC,GAAGA,IAAI,GAAIA,GAAE,oBAAqB,QAAO8F,eAAe,SAAS7F,EAAEzV,EAAE0V,GAAG,GAAG,WAAW1V,EAAE,CAAC,GAAI2V,IAAE,EAAGC,EAAEH,EAAEla,KAAKia,GAAGW,EAAE,SAASP,EAAE,OAAO,QAAQS,EAAEd,EAAElY,KAAKuB,KAAK6W,EAAEU,EAAE,IAAIP,EAAEF,EAAG,OAAOD,GAAE5V,SAAS+V,GAAGN,EAAEG,GAAG5V,SAASsW,IAAID,QAAQqF,KAAKlF,GAAG,WAAWV,GAAE,GAAID,KAAK8F,kBAAkB,SAAS/F,EAAEzV,EAAE0V,GAAG,GAAG,WAAW1V,EAAE,CAAC,GAAI2V,IAAE,EAAGC,EAAEH,EAAEla,KAAKia,GAAGW,EAAE,SAASP,EAAE,OAAO,QAAQS,EAAEd,EAAElY,KAAKuB,KAAK6W,EAAEU,EAAET,EAAG,OAAOJ,GAAEG,GAAG5V,SAASsW,IAAID,QAAQqF,KAAKlF,GAAG,WAAWV,GAAE,GAAID,SAASxc,QAAQC,OAAO,8BAA8BkL,QAAQ,iBAAiB,OAAO,UAAU,aAAa,gBAAgB,SAASiR,EAAEC,EAAEC,EAAEC,GAAG,QAASzV,GAAEsV,EAAEC,GAAG,GAAIC,MAAKxV,EAAEsV,EAAEtX,MAAM,IAAI0X,EAAEJ,EAAExE,QAAQ,IAAK,IAAG4E,GAAE,EAAG,CAAC,GAAIC,IAAE,CAAGL,GAAEA,EAAEtX,MAAM,GAAI,KAAI,GAAI4X,GAAEF,EAAEE,EAAEN,EAAErX,OAAO2X,IAAID,GAAG,MAAML,EAAEM,KAAKA,EAAE,EAAEN,EAAErX,QAAQ,MAAMqX,EAAEM,EAAE,IAAIN,EAAEM,EAAE,GAAG,IAAI5V,EAAE4V,EAAE,GAAG,KAAK5V,EAAE4V,GAAG,GAAGD,GAAE,IAAKL,EAAEM,GAAG,KAAK,MAAMN,EAAEM,KAAKN,EAAEM,GAAG,IAAI5V,EAAE4V,GAAG,GAAGD,GAAE,EAAIL,GAAEA,EAAEmG,KAAK,IAAI,MAAOviB,SAAQwX,QAAQ4F,EAAE,SAASb,GAAG,GAAIC,GAAEJ,EAAExE,QAAQ2E,EAAE5Q,IAAK,IAAG6Q,GAAE,EAAG,CAACJ,EAAEA,EAAEtX,MAAM,IAAIgC,EAAE0V,GAAG,IAAID,EAAEiG,MAAM,IAAIpG,EAAEI,GAAG,GAAI,KAAI,GAAIC,GAAED,EAAE,EAAEE,EAAEF,EAAED,EAAE5Q,IAAI5G,OAAO2X,EAAED,EAAEA,IAAI3V,EAAE2V,GAAG,GAAGL,EAAEK,GAAG,GAAIL,GAAEA,EAAEmG,KAAK,IAAIjG,EAAE/D,MAAMC,MAAMgE,EAAE7Q,IAAI4Q,EAAE5Q,IAAI0O,MAAMkC,EAAEF,GAAGoG,QAAQlG,EAAEiG,YAAYA,MAAM,GAAIE,QAAO,IAAI5b,EAAEyb,KAAK,IAAI,KAAKhR,IAAIgL,EAAED,EAAE,UAAU,QAASE,GAAEJ,EAAEC,EAAEC,GAAG,QAAO,EAAEA,KAAK,IAAID,GAAGC,EAAE,GAAG,KAAKA,IAAIF,EAAE,IAAI,GAAGA,EAAE,MAAM,GAAGA,EAAE,MAAM,GAAG,IAAIC,GAAG,IAAIA,GAAG,IAAIA,GAAG,KAAKA,GAAE,GAAGC,GAAK,QAASG,GAAEL,GAAG,MAAOrU,UAASqU,EAAE,IAAI,QAASM,GAAEN,EAAEC,GAAG,MAAOD,IAAGC,EAAExT,EAAEuT,EAAEC,GAAGD,EAAE,QAASa,GAAEb,EAAEC,GAAG,MAAOD,IAAGC,EAAExT,EAAEuT,EAAEC,GAAE,GAAID,EAAE,QAASe,GAAEf,EAAEC,GAAG,GAAIC,GAAEtV,KAAKgQ,MAAM,yBAAyBoF,GAAG,GAAI,OAAO1T,OAAM4T,GAAGD,EAAEC,EAAE,QAASxT,GAAEsT,EAAEC,GAAG,MAAOD,GAAE,GAAIpV,MAAKoV,EAAEvE,WAAWuE,EAAEuG,WAAWvG,EAAEwG,aAAavG,GAAGD,EAAE,QAASvT,GAAEuT,EAAEC,EAAEC,GAAGA,EAAEA,GAAE,EAAG,CAAE,IAAIC,GAAEY,EAAEd,EAAED,EAAEyG,oBAAqB,OAAO/Z,GAAEsT,EAAEE,GAAGC,EAAEH,EAAEyG,sBAAsB,GAAI3F,GAAEE,EAAEC,EAAE,iCAAkC3X,MAAK3C,KAAK,WAAWma,EAAEb,EAAErW,GAAGN,KAAKod,WAAWpd,KAAKqd,cAAc3F,IAAIzR,IAAI,OAAO6W,MAAM,SAASnI,MAAM,SAAS+B,GAAG1W,KAAKsd,MAAM5G,GAAG6G,UAAU,SAAS7G,GAAG,GAAIC,GAAE,GAAIrV,KAAK,OAAOqV,GAAE6G,YAAYtE,KAAKuE,IAAI/G,EAAEgH,gBAAgB9G,EAAED,EAAE,WAAW1Q,IAAI,KAAK6W,MAAM,SAASnI,MAAM,SAAS+B,GAAG1W,KAAKsd,MAAM5G,EAAE,KAAK6G,UAAU,SAAS7G,GAAG,GAAIC,GAAE,GAAIrV,KAAK,OAAOqV,GAAE6G,YAAYtE,KAAKuE,IAAI/G,EAAEgH,gBAAgB9G,EAAED,EAAE,SAAS1Q,IAAI,IAAI6W,MAAM,WAAWnI,MAAM,SAAS+B,GAAG1W,KAAKsd,MAAM5G,GAAG6G,UAAU,SAAS7G,GAAG,GAAIC,GAAE,GAAIrV,KAAK,OAAOqV,GAAE6G,YAAYtE,KAAKuE,IAAI/G,EAAEgH,gBAAgB9G,EAAED,EAAE,QAAQ1Q,IAAI,KAAK6W,MAAM,iBAAiBnI,MAAM,SAAS+B,GAAG1W,KAAK2d,MAAMjH,EAAE,GAAG6G,UAAU,SAAS7G,GAAG,GAAIC,GAAED,EAAEkH,UAAW,OAAM,UAAUC,KAAKlH,GAAGC,EAAEF,EAAE,MAAME,EAAEF,EAAE,QAAQzQ,IAAI,OAAO6W,MAAMnG,EAAEmH,iBAAiBC,MAAMlB,KAAK,KAAKlI,MAAM,SAAS+B,GAAG1W,KAAK2d,MAAMhH,EAAEmH,iBAAiBC,MAAM7L,QAAQwE,IAAI6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,WAAWzQ,IAAI,MAAM6W,MAAMnG,EAAEmH,iBAAiBE,WAAWnB,KAAK,KAAKlI,MAAM,SAAS+B,GAAG1W,KAAK2d,MAAMhH,EAAEmH,iBAAiBE,WAAW9L,QAAQwE,IAAI6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,UAAUzQ,IAAI,KAAK6W,MAAM,gBAAgBnI,MAAM,SAAS+B,GAAG1W,KAAK2d,MAAMjH,EAAE,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,eAAenI,MAAM,SAAS+B,GAAG1W,KAAK2d,MAAMjH,EAAE,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,KAAK6W,MAAM,2BAA2BnI,MAAM,SAAS+B,GAAG1W,KAAK2I,MAAM+N,GAAG6G,UAAU,SAAS7G,GAAG,GAAIC,GAAED,EAAEuH,SAAU,OAAM,UAAUJ,KAAKlH,GAAGC,EAAEF,EAAE,MAAME,EAAEF,EAAE,QAAQzQ,IAAI,KAAK6W,MAAM,0BAA0BnI,MAAM,SAAS+B,GAAG1W,KAAK2I,MAAM+N,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,2BAA2BnI,MAAM,SAAS+B,GAAG1W,KAAK2I,MAAM+N,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,OAAO6W,MAAMnG,EAAEmH,iBAAiBI,IAAIrB,KAAK,KAAKU,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,WAAWzQ,IAAI,MAAM6W,MAAMnG,EAAEmH,iBAAiBK,SAAStB,KAAK,KAAKU,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,UAAUzQ,IAAI,KAAK6W,MAAM,sBAAsBnI,MAAM,SAAS+B,GAAG1W,KAAKoe,OAAO1H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,KAAK6W,MAAM,gBAAgBnI,MAAM,SAAS+B,GAAG1W,KAAKoe,OAAO1H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,iBAAiBnI,MAAM,SAAS+B,GAAG1W,KAAKoe,OAAO1H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,IAAI6W,MAAM,eAAenI,MAAM,SAAS+B,GAAG1W,KAAKoe,OAAO1H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,KAAK6W,MAAM,aAAanI,MAAM,SAAS+B,GAAG1W,KAAKqe,SAAS3H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,mBAAmBnI,MAAM,SAAS+B,GAAG1W,KAAKqe,SAAS3H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,MAAM6W,MAAM,kBAAkBnI,MAAM,SAAS+B,GAAG1W,KAAKse,cAAc5H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,UAAUzQ,IAAI,KAAK6W,MAAM,aAAanI,MAAM,SAAS+B,GAAG1W,KAAKue,SAAS7H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,mBAAmBnI,MAAM,SAAS+B,GAAG1W,KAAKue,SAAS7H,GAAG6G,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,IAAI6W,MAAMnG,EAAEmH,iBAAiBU,MAAM3B,KAAK,KAAKlI,MAAM,SAAS+B,GAAG,KAAK1W,KAAKoe,QAAQpe,KAAKoe,MAAM,GAAG,OAAO1H,IAAI1W,KAAKoe,OAAO,KAAKb,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,IAAI6W,MAAM,aAAanI,MAAM,SAAS+B,GAAG,GAAIC,GAAED,EAAEvI,MAAM,wBAAwByI,EAAED,EAAE,GAAGE,EAAEF,EAAE,GAAGvV,EAAEuV,EAAE,EAAG3W,MAAKoe,OAAOrH,EAAEH,EAAEC,GAAG7W,KAAKqe,SAAStH,EAAEH,EAAExV,IAAImc,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,KAAK6W,MAAM,oBAAoBS,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAM,0BAA0BS,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,QAAQzQ,IAAI,OAAO6W,MAAMnG,EAAEmH,iBAAiBW,SAAS5B,KAAK,KAAKla,QAAQ,MAAM,OAAO4a,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,WAAWzQ,IAAI,MAAM6W,MAAMnG,EAAEmH,iBAAiBY,KAAK7B,KAAK,KAAKU,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,UAAUzQ,IAAI,KAAK6W,MAAMnG,EAAEmH,iBAAiBY,KAAK7B,KAAK,KAAKU,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAASzQ,IAAI,IAAI6W,MAAMnG,EAAEmH,iBAAiBY,KAAK7B,KAAK,KAAKU,UAAU,SAAS7G,GAAG,MAAOE,GAAEF,EAAE,SAAS1W,KAAK3C,OAAO2C,KAAK2B,OAAO,SAAS+U,EAAEE,GAAG,IAAItc,QAAQqkB,OAAOjI,IAAI1T,MAAM0T,KAAKE,EAAE,MAAM,EAAGA,GAAED,EAAEmH,iBAAiBlH,IAAIA,EAAED,EAAErW,KAAKkX,GAAGxX,KAAK3C,OAAO2C,KAAKqd,WAAWzG,KAAK5W,KAAKqd,WAAWzG,GAAGxV,EAAEwV,EAAE,aAAc,IAAIC,GAAE7W,KAAKqd,WAAWzG,GAAGE,EAAED,EAAEhL,IAAIkL,EAAEH,CAAE,OAAOE,GAAEzB,OAAO,SAASsB,EAAEC,EAAEC,GAAG,GAAIzV,GAAE2V,EAAE5I,MAAM,GAAI6O,QAAO,OAAOpG,EAAE3Q,KAAM7E,IAAG9G,QAAQoX,SAAStQ,EAAE,MAAMuV,GAAGvV,EAAE,GAAG2V,EAAEA,EAAEpU,QAAQvB,EAAE,GAAGwV,EAAE3Q,IAAI,IAAK,IAAI+Q,GAAEH,IAAIC,EAAEzX,OAAO,EAAE0X,EAAE,EAAG,OAAOH,GAAEjC,MAAMgC,EAAEC,EAAEjC,MAAMiK,KAAK,KAAKlI,GAAGM,EAAEL,EAAEK,GAAG,KAAKhX,KAAKsR,MAAM,SAASsF,EAAEC,EAAEE,GAAG,IAAIzc,QAAQoX,SAASkF,KAAKC,EAAE,MAAOD,EAAEC,GAAEF,EAAEmH,iBAAiBjH,IAAIA,EAAEA,EAAEA,EAAElU,QAAQgV,EAAE,QAAQhB,EAAErW,KAAKkX,GAAGxX,KAAK3C,OAAO2C,KAAKod,QAAQvG,KAAK7W,KAAKod,QAAQvG,GAAGzV,EAAEyV,EAAE,SAAU,IAAIG,GAAEhX,KAAKod,QAAQvG,GAAGU,EAAEP,EAAE8F,MAAMrF,EAAET,EAAEnL,IAAIzI,EAAEwT,EAAEzI,MAAMoJ,GAAGpU,GAAE,CAAG,IAAGC,GAAGA,EAAE/D,OAAO,CAAC,GAAIqY,GAAE1K,CAAE1S,SAAQqkB,OAAO5H,KAAK/T,MAAM+T,EAAE5E,WAAWuF,GAAG4F,KAAKvG,EAAE2G,cAAcC,MAAM5G,EAAE6G,WAAWjV,KAAKoO,EAAEkH,UAAUG,MAAMrH,EAAE8H,WAAWR,QAAQtH,EAAEmG,aAAaqB,QAAQxH,EAAE+H,aAAaR,aAAavH,EAAEgI,oBAAoBhI,GAAGL,EAAEsI,KAAK,cAAc,gCAAgCtH,GAAG4F,KAAK,KAAKK,MAAM,EAAEhV,KAAK,EAAEyV,MAAM,EAAEC,QAAQ,EAAEE,QAAQ,EAAED,aAAa,GAAI,KAAI,GAAIxD,GAAE,EAAES,EAAEnY,EAAE/D,OAAOkc,EAAET,EAAEA,IAAI,CAAC,GAAIK,GAAE1D,EAAEqD,EAAE,EAAG,OAAMK,EAAE4B,UAAU5Z,GAAE,GAAIgY,EAAExG,OAAOwG,EAAExG,MAAMiK,KAAKlH,EAAEtU,EAAE0X,IAAI,GAAIF,GAAEzX,EAAE7B,KAAKyM,UAAUkR,eAAe3d,KAAKyM,UAAUyP,YAAYvC,EAAE9X,EAAE7B,KAAKyM,UAAUmR,YAAY5d,KAAKyM,UAAUoR,QAAS,OAAOrI,GAAEY,EAAE4F,KAAK5F,EAAEiG,MAAMjG,EAAE/O,SAASrO,QAAQqkB,OAAO5H,IAAI/T,MAAM+T,EAAE5E,YAAYhP,GAAG6J,EAAE,GAAI1L,MAAK,GAAGsZ,EAAEgE,KAAK5R,EAAE0K,EAAE4F,KAAK5F,EAAEiG,MAAMjG,EAAE/O,MAAMsS,EAAE2D,KAAK5R,EAAE0K,EAAE0G,OAAO,EAAE1G,EAAE2G,SAAS,EAAE3G,EAAE6G,SAAS,EAAE7G,EAAE4G,cAAc,KAAKtR,EAAE,GAAI1L,MAAKyV,GAAG6D,EAAEgE,KAAK5R,EAAE0K,EAAE4F,KAAK5F,EAAEiG,MAAMjG,EAAE/O,MAAMsS,EAAE2D,KAAK5R,EAAE0K,EAAE0G,MAAM1G,EAAE2G,QAAQ3G,EAAE6G,QAAQ7G,EAAE4G,gBAAgBtR,IAAIhN,KAAKof,WAAWpI,EAAEhX,KAAKqf,aAAa9H,EAAEvX,KAAKsf,iBAAiB7H,EAAEzX,KAAKuf,eAAenc,EAAEpD,KAAKwf,uBAAuBrc,KAAK7I,QAAQC,OAAO,2BAA2B+E,UAAU,cAAc,WAAW,SAASoX,GAAG,GAAIC,GAAE,uCAAuCC,EAAE,uCAAwC,QAAOpX,SAAS,IAAIgX,QAAQ,SAASK,EAAEzV,GAAG,QAAS0V,GAAEJ,EAAEC,EAAEC,GAAGW,EAAE1E,KAAK6D,GAAGe,EAAE5E,MAAMlT,MAAM+W,EAAErY,QAAQsY,IAAIgB,EAAE7F,QAAQ,SAAS6E,EAAEC,GAAGG,EAAEJ,EAAED,KAAKA,EAAEpZ,IAAI,WAAW0Z,GAAG,QAASD,GAAEJ,EAAEE,GAAG,GAAIzV,GAAEuV,EAAExI,MAAMyI,GAAGE,EAAED,EAAEmB,MAAM5W,EAAE,IAAI2V,EAAE3V,EAAE,GAAG4V,EAAE5T,EAAEuT,EAAG,KAAIK,EAAE,CAAC,GAAIO,GAAE,SAASZ,GAAG,GAAIC,GAAE,IAAKa,GAAEgI,KAAK,SAAS/I,GAAG,GAAIG,GAAEH,EAAE/W,MAAMqY,MAAMR,EAAG,OAAOX,KAAIF,GAAGC,EAAEF,GAAE,GAAI,SAASM,EAAE0I,gBAAgB9I,IAAII,EAAE0I,eAAehJ,EAAExV,YAAY8V,EAAE0I,cAAcrhB,QAAQyY,GAAGF,GAAGF,EAAEzV,SAAS2V,EAAEvY,QAAQyY,GAAGE,EAAE0I,cAAc9I,GAAIxT,GAAEuT,GAAGK,GAAG0I,cAAc,KAAK/f,MAAMkX,EAAE8I,QAAQpI,EAAEqI,eAAe7I,EAAE8I,QAAQhJ,EAAEvY,OAAOyY,EAAEQ,IAAIP,EAAE2I,QAAQ9I,EAAEmB,MAAMjB,IAAI,QAASC,GAAEN,GAAG,GAAIC,GAAED,EAAEoJ,YAAYlJ,EAAEW,EAAErF,QAAQyE,EAAG,IAAGY,EAAExE,OAAO6D,EAAE,GAAGa,EAAE1E,OAAO6D,EAAE,GAAGW,EAAElY,OAAO,CAAC,GAAIwX,GAAEU,EAAE,EAAGjd,SAAQwX,QAAQ1O,EAAE,SAASsT,GAAGA,EAAE/W,QAAQgX,IAAID,EAAEmJ,QAAQhJ,EAAEvY,OAAOoY,EAAEkJ,eAAelJ,EAAEiJ,SAASjJ,EAAE/W,MAAMkX,SAAUzT,MAAK,GAAImU,MAAKE,KAAKrU,KAAKD,EAAE/B,EAAE2e,WAAW5R,MAAMwI,GAAGa,EAAErU,EAAE,GAAGuU,EAAEvU,EAAE,GAAGwU,EAAED,EAAEtY,MAAM,IAAK,OAAO0X,QAAOxc,QAAQC,OAAO,4BAA4B8F,QAAQ,gBAAgB,YAAY,UAAU,SAASqW,EAAEC,GAAG,GAAIC,GAAEC,GAAGmJ,OAAO,gBAAgBC,OAAO,wBAAwB7e,GAAG8e,KAAK,eAAeC,QAAQ,4BAA4BC,UAAU,mCAAmCC,SAAS,iBAAkB,QAAOC,WAAW,SAAS5J,GAAG,MAAOA,GAAE6J,SAAS7J,EAAEA,EAAE,IAAIA,GAAG8J,WAAW,SAAS9J,GAAG,MAAOA,GAAE3T,WAAW2T,GAAG+J,SAAS/J,GAAGA,EAAE,GAAGgK,aAAa,SAAS9J,GAAG,QAASC,GAAEH,GAAG,MAAM,YAAYC,EAAEgK,iBAAiBjK,GAAGkK,UAAU,UAAUhK,EAAE5W,KAAKsgB,WAAW1J,EAAG,KAAI,GAAIxV,GAAEwV,EAAE8J,cAAchK,EAAE,GAAGmK,gBAAgBzf,GAAGA,IAAIsV,EAAE,GAAGmK,iBAAiBhK,EAAEzV,IAAIA,EAAEA,EAAEsf,YAAa,OAAOtf,IAAGsV,EAAE,GAAGmK,iBAAiBC,eAAe,WAAW,GAAGxmB,QAAQ+R,YAAYuK,GAAG,CAAC,GAAID,GAAErc,QAAQ+D,QAAQ,qDAAsDqY,GAAEwD,KAAK,QAAQR,OAAO/C,GAAGC,EAAED,EAAE,GAAGoK,YAAYpK,EAAE,GAAGqK,YAAYpK,EAAE6J,SAAS7J,GAAGA,EAAE,EAAED,EAAEjG,SAAS,MAAOkG,IAAGqK,aAAa,SAASvK,EAAEE,GAAGF,EAAE1W,KAAKsgB,WAAW5J,EAAG,IAAItV,GAAEwV,EAAEC,EAAEoJ,OAAOpJ,EAAEmJ,OAAOlJ,EAAEH,EAAEgK,iBAAiBjK,EAAG,OAAOtV,GAAEyc,KAAK/G,EAAEoK,SAASpK,EAAEqK,UAAUrK,EAAEsK,YAAYC,aAAa,SAASzK,EAAExV,GAAGwV,EAAE5W,KAAKsgB,WAAW1J,EAAG,IAAIE,GAAE1V,EAAEyV,EAAEoJ,OAAOpJ,EAAEmJ,OAAOjJ,EAAEL,EAAE,GAAGmK,gBAAgB7J,EAAEL,EAAEgK,iBAAiB/J,GAAGW,EAAE,aAAaP,EAAE4J,SAASnJ,EAAEb,EAAE0K,eAAevK,CAAE,IAAGU,IAAIV,GAAG,UAAUC,EAAE4J,SAAS,MAAO7J,EAAE,MAAKU,EAAE6J,eAAe7J,IAAIV,GAAG,CAAC,GAAI3T,GAAEuT,EAAEgK,iBAAiBlJ,EAAG,IAAGF,GAAG,WAAWnU,EAAEwd,WAAWrJ,GAAE,IAAKA,GAAGT,EAAE+G,KAAKza,EAAE8d,SAAS9d,EAAE+d,UAAU/d,EAAEge,WAAW,KAAM3J,GAAEA,EAAE6J,cAAc,MAAO7J,IAAGmJ,SAAS,SAAShK,EAAEC,GAAGD,EAAE5W,KAAKsgB,WAAW1J,EAAG,IAAIxV,GAAEpB,KAAKuhB,OAAO3K,EAAG,IAAGC,EAAE,CAAC,GAAIC,GAAEH,EAAEgK,iBAAiB/J,EAAGxV,GAAEogB,KAAKxhB,KAAKwgB,WAAW1J,EAAE2K,WAAWrgB,EAAEsgB,MAAM1hB,KAAKwgB,WAAW1J,EAAE6K,YAAY,GAAI5K,GAAE/W,KAAK0gB,aAAa9J,GAAGI,GAAGwK,IAAI,EAAEE,KAAK,EAAG,OAAO3K,KAAIL,EAAE,GAAGmK,kBAAkB7J,EAAEhX,KAAKuhB,OAAOxK,GAAGC,EAAEwK,KAAKzK,EAAE6K,UAAU7K,EAAE8K,UAAU7K,EAAE0K,MAAM3K,EAAE+K,WAAW/K,EAAEgL,aAAaC,MAAM9I,KAAK+I,MAAM3nB,QAAQmhB,SAASra,EAAE4gB,OAAO5gB,EAAE4gB,MAAMpL,EAAEmK,aAAa3J,OAAO8B,KAAK+I,MAAM3nB,QAAQmhB,SAASra,EAAEgW,QAAQhW,EAAEgW,OAAOR,EAAEsL,cAAcV,IAAItI,KAAK+I,MAAM7gB,EAAEogB,IAAIxK,EAAEwK,KAAKE,KAAKxI,KAAK+I,MAAM7gB,EAAEsgB,KAAK1K,EAAE0K,QAAQH,OAAO,SAAS3K,GAAGA,EAAE5W,KAAKsgB,WAAW1J,EAAG,IAAIC,GAAED,EAAEuL,uBAAwB,QAAOH,MAAM9I,KAAK+I,MAAM3nB,QAAQmhB,SAAS5E,EAAEmL,OAAOnL,EAAEmL,MAAMpL,EAAEmK,aAAa3J,OAAO8B,KAAK+I,MAAM3nB,QAAQmhB,SAAS5E,EAAEO,QAAQP,EAAEO,OAAOR,EAAEsL,cAAcV,IAAItI,KAAK+I,MAAMpL,EAAE2K,KAAK7K,EAAEyL,aAAa1L,EAAE,GAAGmK,gBAAgBgB,YAAYH,KAAKxI,KAAK+I,MAAMpL,EAAE6K,MAAM/K,EAAE0L,aAAa3L,EAAE,GAAGmK,gBAAgBkB,eAAeO,eAAe,SAAS1L,EAAEC,EAAEzV,GAAGwV,EAAE5W,KAAKsgB,WAAW1J,GAAGxV,EAAEA,KAAI,CAAS,IAAI0V,GAAEF,EAAEuL,wBAAwBpL,GAAGyK,IAAI,EAAEE,KAAK,EAAEa,OAAO,EAAEC,MAAM,GAAGxL,EAAEH,EAAEH,EAAE,GAAGmK,gBAAgB7gB,KAAKqhB,aAAazK,GAAGW,EAAEP,EAAEmL,uBAAwB,IAAGpL,EAAEyK,IAAIjK,EAAEiK,IAAIxK,EAAE4K,UAAU7K,EAAE2K,KAAKnK,EAAEmK,KAAK1K,EAAE8K,WAAW9K,IAAIN,EAAE,GAAGmK,kBAAkB9J,EAAEyK,KAAK7K,EAAEyL,YAAYrL,EAAE2K,MAAM/K,EAAE0L,aAAatL,EAAEwL,OAAOxL,EAAEyK,IAAIxK,EAAEyL,aAAa1L,EAAEyL,MAAMzL,EAAE2K,KAAK1K,EAAEgK,YAAY5f,EAAE,CAAC,GAAIqW,GAAEd,EAAEgK,iBAAiB3J,EAAGD,GAAEyK,KAAKxhB,KAAKwgB,WAAW/I,EAAEiL,YAAY3L,EAAEwL,QAAQviB,KAAKwgB,WAAW/I,EAAEkL,eAAe5L,EAAE2K,MAAM1hB,KAAKwgB,WAAW/I,EAAEmL,aAAa7L,EAAEyL,OAAOxiB,KAAKwgB,WAAW/I,EAAEoL,cAAc,OAAOrB,IAAItI,KAAK+I,MAAMnL,EAAE0K,IAAIzK,EAAEyK,KAAKe,OAAOrJ,KAAK+I,MAAMlL,EAAEwL,OAAOzL,EAAEyL,QAAQb,KAAKxI,KAAK+I,MAAMnL,EAAE4K,KAAK3K,EAAE2K,MAAMc,MAAMtJ,KAAK+I,MAAMlL,EAAEyL,MAAM1L,EAAE0L,SAASM,eAAe,SAASpM,GAAG,GAAIC,GAAEvV,EAAE8e,KAAKrC,KAAKnH,EAAG,OAAOC,KAAID,EAAEA,EAAE/T,QAAQvB,EAAE8e,KAAK,KAAKxJ,EAAEA,EAAEtX,MAAM,KAAKsX,EAAE,GAAGA,EAAE,IAAI,MAAMtV,EAAE+e,QAAQtC,KAAKnH,EAAE,MAAMA,EAAE,GAAG,OAAOA,EAAE,GAAGA,EAAE,IAAI,SAAStV,EAAEgf,UAAUvC,KAAKnH,EAAE,MAAMA,EAAE,GAAG,UAAUC,EAAED,EAAE,IAAG,EAAGA,EAAE,IAAG,EAAGA,GAAGqM,iBAAiB,SAASrM,EAAEE,EAAEC,EAAEC,GAAGJ,EAAE1W,KAAKsgB,WAAW5J,GAAGE,EAAE5W,KAAKsgB,WAAW1J,EAAG,IAAIG,GAAEzc,QAAQ8L,UAAUwQ,EAAEmK,aAAanK,EAAEmK,YAAYnK,EAAEtE,KAAK,eAAe0E,EAAE1c,QAAQ8L,UAAUwQ,EAAEsL,cAActL,EAAEsL,aAAatL,EAAEtE,KAAK,eAAgBuE,GAAE7W,KAAK8iB,eAAejM,EAAG,IAAIU,GAAET,EAAE9W,KAAKuhB,OAAO7K,GAAG1W,KAAK4gB,SAASlK,GAAGe,GAAG+J,IAAI,EAAEE,KAAK,EAAEsB,UAAU,GAAI,IAAGnM,EAAE,GAAG,CAAC,GAAIzT,GAAEpD,KAAKsiB,eAAe5L,EAAEI,GAAG3T,EAAEwT,EAAEgK,iBAAiB/J,GAAGY,GAAGwK,MAAMjL,EAAEmC,KAAK+I,MAAM/I,KAAKuE,IAAIzd,KAAKwgB,WAAWrd,EAAEwe,YAAY3hB,KAAKwgB,WAAWrd,EAAE8f,eAAe7L,OAAOJ,EAAEkC,KAAK+I,MAAM/I,KAAKuE,IAAIzd,KAAKwgB,WAAWrd,EAAEse,WAAWzhB,KAAKwgB,WAAWrd,EAAE+f,gBAAiB,IAAGrM,EAAE,GAAG,QAAQA,EAAE,IAAIW,EAAEJ,OAAOhU,EAAEoe,KAAKhK,EAAEJ,QAAQhU,EAAEmf,OAAO,SAAS,WAAW1L,EAAE,IAAIW,EAAEJ,OAAOhU,EAAEmf,QAAQ/K,EAAEJ,QAAQhU,EAAEoe,IAAI,MAAM,SAAS3K,EAAE,IAAIW,EAAEwK,MAAM5e,EAAEse,MAAMlK,EAAEwK,OAAO5e,EAAEof,MAAM,QAAQ,UAAU3L,EAAE,IAAIW,EAAEwK,MAAM5e,EAAEof,OAAOhL,EAAEwK,OAAO5e,EAAEse,KAAK,OAAO7K,EAAE,GAAGA,EAAE,GAAG,QAAQA,EAAE,IAAIW,EAAEJ,OAAOG,EAAEH,OAAOhU,EAAEmf,QAAQ/K,EAAEJ,OAAOG,EAAEH,QAAQhU,EAAEoe,IAAI,SAAS,WAAW3K,EAAE,IAAIW,EAAEJ,OAAOG,EAAEH,OAAOhU,EAAEoe,KAAKhK,EAAEJ,OAAOG,EAAEH,QAAQhU,EAAEmf,OAAO,MAAM,SAAS1L,EAAE,IAAIW,EAAEwK,MAAMzK,EAAEyK,MAAM5e,EAAEof,OAAOhL,EAAEwK,MAAMzK,EAAEyK,OAAO5e,EAAEse,KAAK,QAAQ,UAAU7K,EAAE,IAAIW,EAAEwK,MAAMzK,EAAEyK,MAAM5e,EAAEse,MAAMlK,EAAEwK,MAAMzK,EAAEyK,OAAO5e,EAAEof,MAAM,OAAO3L,EAAE,GAAG,WAAWA,EAAE,GAAG,GAAGzV,EAAEif,SAASxC,KAAKhH,EAAE,IAAI,CAAC,GAAIa,GAAEH,EAAEyK,MAAM,EAAEjL,EAAE,CAAE3T,GAAEse,KAAKhK,EAAE,GAAGF,EAAEwK,MAAMzK,EAAEyK,OAAO5e,EAAEof,MAAM3L,EAAE,GAAG,OAAOzT,EAAEof,MAAM9K,EAAE,GAAGF,EAAEwK,MAAMzK,EAAEyK,OAAO5e,EAAEse,OAAO7K,EAAE,GAAG,aAAa,CAAC,GAAIc,GAAEJ,EAAEH,OAAO,EAAEI,EAAEJ,OAAO,CAAEhU,GAAEoe,IAAI7J,EAAE,GAAGH,EAAEJ,OAAOG,EAAEH,QAAQhU,EAAEmf,OAAO1L,EAAE,GAAG,MAAMzT,EAAEmf,OAAO5K,EAAE,GAAGH,EAAEJ,OAAOG,EAAEH,QAAQhU,EAAEoe,MAAM3K,EAAE,GAAG,WAAW,OAAOA,EAAE,IAAI,IAAI,MAAMY,EAAE+J,IAAIjK,EAAEiK,IAAIxK,CAAE,MAAM,KAAI,SAASS,EAAE+J,IAAIjK,EAAEiK,IAAIjK,EAAEH,MAAO,MAAM,KAAI,OAAOK,EAAEiK,KAAKnK,EAAEmK,KAAK3K,CAAE,MAAM,KAAI,QAAQU,EAAEiK,KAAKnK,EAAEmK,KAAKnK,EAAEyK,MAAM,OAAOnL,EAAE,IAAI,IAAI,MAAMY,EAAE+J,IAAIjK,EAAEiK,GAAI,MAAM,KAAI,SAAS/J,EAAE+J,IAAIjK,EAAEiK,IAAIjK,EAAEH,OAAOJ,CAAE,MAAM,KAAI,OAAOS,EAAEiK,KAAKnK,EAAEmK,IAAK,MAAM,KAAI,QAAQjK,EAAEiK,KAAKnK,EAAEmK,KAAKnK,EAAEyK,MAAMjL,CAAE,MAAM,KAAI,SAAS3V,EAAEif,SAASxC,KAAKhH,EAAE,IAAIY,EAAEiK,KAAKnK,EAAEmK,KAAKnK,EAAEyK,MAAM,EAAEjL,EAAE,EAAEU,EAAE+J,IAAIjK,EAAEiK,IAAIjK,EAAEH,OAAO,EAAEJ,EAAE,EAAE,MAAOS,GAAE+J,IAAItI,KAAK+I,MAAMxK,EAAE+J,KAAK/J,EAAEiK,KAAKxI,KAAK+I,MAAMxK,EAAEiK,MAAMjK,EAAEuL,UAAU,WAAWnM,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,IAAIA,EAAE,GAAGY,GAAG0L,cAAc,SAASzM,EAAEE,GAAGF,EAAE1W,KAAKsgB,WAAW5J,EAAG,IAAIG,GAAEH,EAAElD,cAAc,iCAAkC,IAAGqD,EAAE,CAAC,GAAIC,GAAExc,QAAQ+D,QAAQwY,GAAGI,SAAS,iBAAiBF,EAAED,EAAEJ,EAAElD,cAAc,kBAAkBkD,EAAElD,cAAc,SAAU,IAAGuD,EAAE,CAAC,GAAIC,IAAGwK,IAAI,GAAGe,OAAO,GAAGb,KAAK,GAAGc,MAAM,GAAI,IAAG5L,EAAE5W,KAAK8iB,eAAelM,GAAG,WAAWA,EAAE,GAAG,WAAYtc,SAAQ+D,QAAQ0Y,GAAGzG,IAAI0G,EAAG,IAAIO,GAAE,UAAUX,EAAE,GAAG,SAASa,EAAEd,EAAEgK,iBAAiB5J,GAAGQ,GAAGnU,EAAE,SAAUA,IAAGhC,EAAEif,SAASxC,KAAKjH,EAAE,IAAIA,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,GAAG,IAAIA,EAAE,GAAGxT,GAAG,SAAU,IAAID,GAAEwT,EAAEgK,iBAAiB7J,EAAED,EAAEH,GAAGtT,EAAG,QAAOwT,EAAE,IAAI,IAAI,MAAMI,EAAEuL,OAAOzL,EAAE,IAAI,IAAIW,CAAE,MAAM,KAAI,SAAST,EAAEwK,IAAI1K,EAAE,IAAI,IAAIW,CAAE,MAAM,KAAI,OAAOT,EAAEwL,MAAM1L,EAAE,IAAI,IAAIW,CAAE,MAAM,KAAI,QAAQT,EAAE0K,KAAK5K,EAAE,IAAI,IAAIW,EAAET,EAAEJ,EAAE,IAAIzT,EAAE7I,QAAQ+D,QAAQ0Y,GAAGzG,IAAI0G,UAAU1c,QAAQC,OAAO,2BAA2B,0BAA0B,uBAAuB,0BAA0BgE,MAAM,4BAA2B,GAAIA,MAAM,iCAAgC,GAAI2Z,SAAS,uBAAuBkL,eAAe,MAAMC,UAAU,KAAKC,YAAY,OAAOC,WAAW,OAAOC,gBAAgB,MAAMC,eAAe,YAAYC,iBAAiB,OAAOC,QAAQ,KAAKC,QAAQ,OAAOC,QAAQ,KAAKC,QAAQ,MAAMC,kBAAkBC,qBAAoB,EAAGC,WAAU,EAAGC,YAAY,EAAEC,SAAS,IAAI/oB,WAAW,2BAA2B,SAAS,SAAS,SAAS,eAAe,UAAU,OAAO,aAAa,sBAAsB,2BAA2B,gCAAgC,gBAAgB,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,EAAEO,EAAEE,EAAErU,GAAG,QAASD,GAAEwT,GAAGD,EAAE0M,eAAezM,EAAEmE,IAAIpE,EAAE0N,kBAAkBhB,eAAezM,GAAG,GAAIa,GAAExX,KAAK0X,GAAG8C,cAAclgB,QAAQif,MAAM5B,KAAK3K,KAAK8N,IAAInE,EAAEyN,iBAAkB,IAAGpkB,KAAKqkB,OAAO,MAAM,QAAQ,QAAQvJ,GAAG,cAAc,eAAe,iBAAiB,YAAY,kBAAkB,iBAAiB,cAAc,mBAAmB,aAAa,WAAW,UAAU,UAAU,UAAU,UAAU,YAAY,sBAAsB,cAAc,cAAc,YAAYhJ,QAAQ,SAAS6E,GAAG,OAAOA,GAAG,IAAI,cAAc,IAAI,eAAeD,EAAEC,GAAGD,EAAE0N,kBAAkBzN,IAAIrc,QAAQif,IAAK,MAAM,KAAI,iBAAiB7C,EAAE0M,eAAe9oB,QAAQ8L,UAAUsQ,EAAE0N,kBAAkBhB,gBAAgB1M,EAAE0N,kBAAkBhB,eAAepM,EAAEoM,cAAe,MAAM,KAAI,YAAY,IAAI,kBAAkB,IAAI,iBAAiB,IAAI,cAAc,IAAI,mBAAmB,IAAI,aAAa5L,EAAEb,GAAGrc,QAAQ8L,UAAUsQ,EAAE0N,kBAAkBzN,IAAIE,EAAEH,EAAE0N,kBAAkBzN,IAAID,EAAEoD,SAAS9C,EAAEL,EAAG,MAAM,KAAI,YAAY,IAAI,sBAAsB,IAAI,cAAc,IAAI,WAAWa,EAAEb,GAAGrc,QAAQ8L,UAAUsQ,EAAE0N,kBAAkBzN,IAAID,EAAE0N,kBAAkBzN,GAAGK,EAAEL,EAAG,MAAM,KAAI,cAAcrc,QAAQ8L,UAAUsQ,EAAE0N,kBAAkBE,aAAa9M,EAAE8M,YAAY5N,EAAE0N,kBAAkBE,YAAYhqB,QAAQmhB,SAASzE,EAAEsN,aAAa9M,EAAE8M,YAAYtN,EAAEsN,YAAY9M,EAAE8M,aAAaljB,EAAE0c,iBAAiByG,eAAe,GAAG,CAAE,MAAM,KAAI,UAAU,IAAI,UAAU7N,EAAE0N,kBAAkBzN,GAAGD,EAAEpY,OAAO,WAAW,MAAOoY,GAAE0N,kBAAkBzN,IAAI,SAASD,GAAGA,EAAEpc,QAAQqkB,OAAOjI,GAAGc,EAAEb,GAAGvT,EAAEic,aAAa,GAAI/d,MAAKoV,GAAGiB,EAAE6M,UAAUhN,EAAEb,GAAG,GAAIrV,MAAKyV,EAAEL,EAAE,WAAWc,EAAEb,GAAG,KAAKa,EAAEiN,gBAAgBjN,EAAEb,GAAGK,EAAEL,GAAGvT,EAAEic,aAAa,GAAI/d,MAAK0V,EAAEL,IAAIgB,EAAE6M,UAAU,IAAK,MAAM,KAAI,UAAU,IAAI,UAAU9N,EAAE0N,kBAAkBzN,GAAGD,EAAEpY,OAAO,WAAW,MAAOoY,GAAE0N,kBAAkBzN,IAAI,SAASC,GAAGY,EAAEb,GAAGD,EAAEC,GAAGrc,QAAQ8L,UAAUwQ,GAAGA,EAAEwN,kBAAkBzN,IAAI,YAAYA,GAAGa,EAAE6M,MAAMnS,QAAQwE,EAAE0N,kBAAkBhB,gBAAgB5L,EAAE6M,MAAMnS,QAAQsF,EAAEb,KAAK,YAAYA,GAAGa,EAAE6M,MAAMnS,QAAQwE,EAAE0N,kBAAkBhB,gBAAgB5L,EAAE6M,MAAMnS,QAAQsF,EAAEb,OAAOD,EAAE0M,eAAe5L,EAAEb,GAAGD,EAAE0N,kBAAkBhB,eAAe5L,EAAEb,MAAMa,EAAEb,GAAGD,EAAEC,GAAGK,EAAEL,IAAI,IAAK,MAAM,KAAI,WAAWD,EAAE0N,kBAAkBM,UAAUlN,EAAEmN,WAAWvhB,EAAEic,aAAa3I,EAAE0N,kBAAkBM,SAAS/M,EAAE6M,WAAW,GAAIljB,MAAKoV,EAAEpY,OAAO,WAAW,MAAOoY,GAAE0N,kBAAkBM,UAAU,SAAShO,GAAGA,IAAIgB,EAAEkN,SAASlN,EAAEnV,cAAcmV,EAAEmN,YAAYrN,EAAEmN,WAAWvhB,EAAEic,aAAa3I,EAAEiB,EAAE6M,UAAUhN,EAAEiN,kBAAkBjN,EAAEmN,WAAW,GAAIrjB,aAAY,CAAC,GAAGhH,QAAQwX,SAAS,YAAY,cAAc,aAAa,kBAAkB,iBAAiB,oBAAoB,SAAS8E,GAAGY,EAAEZ,GAAGtc,QAAQ8L,UAAUuQ,EAAEC,IAAIC,EAAEF,EAAEC,IAAIF,EAAEoD,SAAS9C,EAAEJ,GAAGtc,QAAQ8L,UAAUuQ,EAAEC,KAAKa,GAAGX,EAAEkI,KAAK,kBAAkBpI,EAAE,8EAA8Etc,QAAQwX,SAAS,YAAY,WAAW,cAAc,uBAAuB,SAAS8E,GAAGY,EAAEZ,GAAGtc,QAAQ8L,UAAUuQ,EAAEC,IAAIF,EAAEoD,QAAQ9B,MAAMrB,EAAEC,IAAII,EAAEJ,GAAGtc,QAAQ8L,UAAUuQ,EAAEC,KAAKa,GAAGX,EAAEkI,KAAK,kBAAkBpI,EAAE,8EAA8Etc,QAAQwX,SAAS,eAAe,eAAe,SAAS4E,GAAGpc,QAAQ8L,UAAUuQ,EAAED,KAAKe,GAAGX,EAAEkI,KAAK,kBAAkBtI,EAAE,8EAA8Epc,QAAQ8L,UAAUuQ,EAAE2N,cAAc7M,GAAGX,EAAEkI,KAAK,sGAAsGxH,EAAE8M,YAAY5N,EAAEoD,QAAQ9B,MAAMrB,EAAE2N,cAAchqB,QAAQmhB,SAASzE,EAAEsN,aAAa9M,EAAE8M,YAAYtN,EAAEsN,YAAY9M,EAAE8M,aAAaljB,EAAE0c,iBAAiByG,eAAe,GAAG,EAAEjqB,QAAQwX,SAAS,UAAU,WAAW,SAAS8E,GAAGD,EAAEC,IAAIa,GAAGX,EAAEkI,KAAK,kBAAkBpI,EAAE,4EAA4E5J,EAAE6F,KAAK6D,EAAEoD,QAAQxb,OAAOqY,EAAEC,GAAG,SAASF,GAAGA,EAAEpc,QAAQqkB,OAAOjI,GAAGc,EAAEZ,GAAGxT,EAAEic,aAAa,GAAI/d,MAAKoV,GAAGiB,EAAE6M,UAAUhN,EAAEZ,GAAG,GAAItV,MAAKyV,EAAEL,EAAE,WAAWc,EAAEZ,GAAG,KAAKY,EAAEiN,kBAAkBjN,EAAEZ,GAAGI,EAAEJ,GAAGxT,EAAEic,aAAa,GAAI/d,MAAK0V,EAAEJ,IAAIe,EAAE6M,UAAU,OAAOlqB,QAAQwX,SAAS,UAAU,WAAW,SAAS8E,GAAGD,EAAEC,IAAIa,GAAGX,EAAEkI,KAAK,kBAAkBpI,EAAE,4EAA4E5J,EAAE6F,KAAK6D,EAAEoD,QAAQxb,OAAOqY,EAAEC,GAAG,SAASC,GAAGW,EAAEZ,GAAGF,EAAEE,GAAGtc,QAAQ8L,UAAUyQ,GAAGA,EAAEF,EAAEC,IAAI,YAAYA,GAAGY,EAAE6M,MAAMnS,QAAQwE,EAAE0M,gBAAgB5L,EAAE6M,MAAMnS,QAAQsF,EAAEZ,KAAK,YAAYA,GAAGY,EAAE6M,MAAMnS,QAAQwE,EAAE0M,gBAAgB5L,EAAE6M,MAAMnS,QAAQsF,EAAEZ,OAAOF,EAAE0M,eAAe5L,EAAEZ,QAAQY,EAAEZ,GAAGF,EAAEE,GAAGI,EAAEJ,IAAI,OAAOtc,QAAQ8L,UAAUuQ,EAAE+N,UAAU,CAACjN,GAAGX,EAAEkI,KAAK,kGAAmG,IAAIzD,GAAEnY,EAAEic,aAAa3I,EAAEoD,QAAQ9B,MAAMrB,EAAE+N,UAAU/M,EAAE6M,SAAUxkB,MAAK2kB,WAAW3hB,MAAMuY,GAAG,GAAIja,MAAKia,EAAEvO,EAAE6F,KAAK6D,EAAEoD,QAAQxb,OAAOqY,EAAE+N,SAAS,SAAShO,GAAGA,IAAIgB,EAAEkN,SAASlN,EAAEnV,cAAcmV,EAAEmN,YAAYnO,EAAEtT,EAAEic,aAAa3I,EAAEiB,EAAE6M,UAAUhN,EAAEmN,WAAW3hB,MAAM0T,GAAG,GAAIpV,MAAKoV,EAAEc,EAAEiN,sBAAuBzkB,MAAK2kB,WAAW,GAAIrjB,KAAKqV,GAAEyM,gBAAgB3L,GAAGX,EAAEkI,KAAK,yGAAyGtI,EAAE0M,eAAe1M,EAAE0M,gBAAgBpM,EAAEoM,eAAe1M,EAAEoO,SAAS,cAAcpO,EAAEuC,IAAI,IAAIC,KAAKC,MAAM,IAAID,KAAKE,UAAU1C,EAAE4D,SAAShgB,QAAQ8L,UAAUuQ,EAAE2D,YAAW,EAAGhgB,QAAQ8L,UAAUuQ,EAAEoO,aAAa/X,EAAE6F,KAAK6D,EAAEoD,QAAQxb,OAAOqY,EAAEoO,WAAW,SAASpO,GAAGD,EAAE4D,SAAS3D,EAAEa,EAAEiN,iBAAiB/N,EAAE0F,SAAS,SAASzF,GAAG,MAAO,KAAIa,EAAEwN,QAAQrO,EAAEhO,KAAK6O,EAAEmN,cAAajO,EAAEuO,aAAatO,EAAEuO,KAAI,IAAQllB,KAAK3C,KAAK,SAASqZ,GAAGgB,EAAEhB,EAAEiB,EAAEjB,EAAEyO,UAAUnO,EAAE+M,eAAe/jB,KAAK2kB,WAAWjN,EAAEnV,YAAYa,EAAEic,aAAa,GAAI/d,MAAKoW,EAAEnV,aAAaoV,EAAE6M,UAAUphB,EAAEic,aAAa,GAAI/d,MAAKqW,EAAE6M,UAAU9M,EAAEpV,QAAQ,WAAWkV,EAAE4N,WAAWplB,KAAKolB,OAAO,WAAW,GAAG1N,EAAE2N,WAAW,CAAC,GAAI3O,GAAE,GAAIpV,MAAKoW,EAAE2N,YAAY1O,GAAG3T,MAAM0T,EAAGC,GAAE3W,KAAK2kB,WAAWvhB,EAAEic,aAAa3I,EAAEiB,EAAE6M,UAAUjN,GAAGT,EAAEnQ,MAAM,gEAAgE3G,KAAKykB,eAAezkB,KAAKykB,YAAY,WAAW,GAAGzkB,KAAK3B,QAAQ,CAACqY,EAAE4O,WAAW,KAAKtlB,KAAKulB,eAAe7O,EAAE8O,WAAW9O,EAAEuO,aAAavO,EAAE8O,SAASN,IAAK,IAAIvO,GAAEe,EAAE2N,WAAW,GAAI/jB,MAAKoW,EAAE2N,YAAY,IAAK1O,GAAEvT,EAAEic,aAAa1I,EAAEgB,EAAE6M,UAAU9M,EAAE+N,aAAa,gBAAgB9O,GAAG3W,KAAK3B,UAAU2B,KAAK4Y,WAAWjC,MAAM3W,KAAK0lB,iBAAiB,SAAS/O,EAAEC,GAAG,GAAIC,GAAEa,EAAE2N,WAAW,GAAI/jB,MAAKoW,EAAE2N,YAAY,IAAKxO,GAAEzT,EAAEic,aAAaxI,EAAEc,EAAE6M,SAAU,IAAIpjB,GAAE,GAAIE,KAAKF,GAAEgC,EAAEic,aAAaje,EAAEuW,EAAE6M,SAAU,IAAI1N,GAAE9W,KAAKglB,QAAQrO,EAAEvV,GAAG2V,GAAGpO,KAAKgO,EAAEgP,MAAMviB,EAAEzB,OAAOgV,EAAEC,GAAGgP,SAAS/O,GAAG,IAAI7W,KAAKglB,QAAQrO,EAAEE,GAAGyD,SAASta,KAAK4Y,WAAWjC,GAAGkP,KAAK,EAAE/O,EAAEtG,QAAQ,IAAIsG,EAAEgP,OAAOhP,EAAE,EAAEiP,YAAY/lB,KAAK+lB,YAAYpP,IAAI,KAAM,OAAOE,IAAG,IAAI7W,KAAKglB,QAAQrO,EAAEE,KAAKH,EAAE4O,WAAWvO,GAAGS,EAAEmN,YAAY,IAAI3kB,KAAKglB,QAAQjO,EAAEpO,KAAK6O,EAAEmN,cAAcjO,EAAE8O,SAASzO,GAAGA,GAAG/W,KAAK4Y,WAAW,SAASjC,GAAG,MAAOD,GAAE4D,UAAUta,KAAK6jB,SAAS7jB,KAAKglB,QAAQrO,EAAE3W,KAAK6jB,SAAS,GAAG7jB,KAAK2jB,SAAS3jB,KAAKglB,QAAQrO,EAAE3W,KAAK2jB,SAAS,GAAGjN,EAAEsP,cAActP,EAAEsP,cAAcrd,KAAKgO,EAAE9G,KAAK6G,EAAE0M,kBAAkBpjB,KAAK+lB,YAAY,SAASpP,GAAG,MAAOD,GAAEqP,aAAapd,KAAKgO,EAAE9G,KAAK6G,EAAE0M;IACjw+BpjB,KAAKZ,MAAM,SAASsX,EAAEC,GAAG,IAAI,GAAIC,MAAKF,EAAErX,OAAO,GAAGuX,EAAE/D,KAAK6D,EAAE3D,OAAO,EAAE4D,GAAI,OAAOC,IAAGF,EAAEzW,OAAO,SAAS0W,GAAG,GAAGD,EAAE0M,iBAAiB5L,EAAEsM,QAAQ,CAAC,GAAIlN,GAAEc,EAAE2N,WAAWjiB,EAAEic,aAAa,GAAI/d,MAAKoW,EAAE2N,YAAY1N,EAAE6M,UAAU,GAAIljB,MAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAGsV,GAAE4G,YAAY7G,EAAE+G,cAAc/G,EAAEiH,WAAWjH,EAAEsH,WAAWrH,EAAExT,EAAEgc,WAAWxI,EAAEe,EAAE6M,UAAU9M,EAAE8C,cAAc5D,GAAGc,EAAEpV,cAAekV,GAAEmN,WAAWhO,EAAExT,EAAEqU,EAAE6M,MAAM7M,EAAE6M,MAAMnS,QAAQwE,EAAE0M,gBAAgB,IAAI1M,EAAEuP,MAAM,wBAAwBvP,EAAEwP,KAAK,SAASxP,GAAG,GAAIC,GAAEa,EAAEmN,WAAWjH,cAAchH,GAAGc,EAAE2O,KAAKC,OAAO,GAAGxP,EAAEY,EAAEmN,WAAW/G,WAAWlH,GAAGc,EAAE2O,KAAKE,QAAQ,EAAG7O,GAAEmN,WAAWnH,YAAY7G,EAAEC,EAAE,GAAGY,EAAEiN,eAAe/N,EAAE4P,WAAW,SAAS3P,GAAGA,EAAEA,GAAG,EAAED,EAAE0M,iBAAiB5L,EAAEoM,SAAS,IAAIjN,GAAGD,EAAE0M,iBAAiB5L,EAAEsM,UAAS,IAAKnN,IAAIxT,EAAEqU,EAAE6M,MAAM7M,EAAE6M,MAAMnS,QAAQwE,EAAE0M,gBAAgBzM,IAAID,EAAEuP,MAAM,yBAAyBvP,EAAE9K,MAAM2a,GAAG,QAAQC,GAAG,QAAQC,GAAG,SAASC,GAAG,WAAWC,GAAG,MAAMC,GAAG,OAAOC,GAAG,OAAOC,GAAG,KAAKC,GAAG,QAAQC,GAAG,OAAQ,IAAI7L,GAAE,WAAW3D,EAAEnZ,QAAQ,GAAG+B,QAASsW,GAAEpZ,IAAI,uBAAuB6d,GAAGzE,EAAEuQ,QAAQ,SAAStQ,GAAG,GAAIC,GAAEF,EAAE9K,KAAK+K,EAAEtT,MAAO,IAAGuT,IAAID,EAAEuQ,WAAWvQ,EAAEwQ,SAASzQ,EAAE4D,SAAS,GAAG3D,EAAE9Y,iBAAiB2Z,EAAEwM,qBAAqBrN,EAAEyQ,kBAAkB,UAAUxQ,GAAG,UAAUA,EAAE,CAAC,GAAGY,EAAEoB,WAAWpB,EAAEmN,YAAY,MAAOjO,GAAEzW,OAAOuX,EAAEmN,iBAAiBhO,EAAE0Q,SAAS,OAAOzQ,GAAG,SAASA,GAAGY,EAAE8P,cAAc1Q,EAAED,GAAGa,EAAEiN,eAAe/N,EAAE4P,WAAW,OAAO1P,EAAE,GAAE,IAAKF,EAAEpZ,IAAI,WAAW,WAAW,KAAK0P,EAAE3N,QAAQ2N,EAAE6N,eAAezf,WAAW,0BAA0B,SAAS,WAAW,aAAa,SAASsb,EAAEC,EAAEC,GAAG,QAASC,GAAEH,EAAEC,GAAG,MAAO,KAAIA,GAAGD,EAAE,IAAI,GAAGA,EAAE,MAAM,GAAGA,EAAE,MAAM,EAAEI,EAAEH,GAAG,GAAG,QAASvV,GAAEsV,GAAG,GAAIC,GAAE,GAAIrV,MAAKoV,EAAGC,GAAE4Q,QAAQ5Q,EAAEsH,UAAU,GAAGtH,EAAE6Q,UAAU,GAAI,IAAI5Q,GAAED,EAAExE,SAAU,OAAOwE,GAAE8Q,SAAS,GAAG9Q,EAAE4Q,QAAQ,GAAGrO,KAAKC,MAAMD,KAAK+I,OAAOrL,EAAED,GAAG,OAAO,GAAG,EAAE,GAAIG,IAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAI9W,MAAKmmB,MAAME,OAAO,GAAGrmB,KAAK3B,QAAQsY,EAAE3W,KAAK3C,KAAK,SAASsZ,GAAGrc,QAAQqX,OAAOgF,EAAE3W,MAAM0W,EAAEuN,UAAUtN,EAAEsN,UAAUtN,EAAE8N,eAAezkB,KAAK0nB,SAAS,SAAShR,EAAEC,GAAG,IAAI,GAAIC,GAAEC,EAAE,GAAInC,OAAMiC,GAAGvV,EAAE,GAAIE,MAAKoV,GAAGI,EAAE,EAAEH,EAAEG,GAAGF,EAAE,GAAItV,MAAKF,GAAGyV,EAAEC,KAAKF,EAAExV,EAAEmmB,QAAQnmB,EAAE6c,UAAU,EAAG,OAAOpH,IAAG7W,KAAKulB,aAAa,WAAW,GAAI5O,GAAE3W,KAAK2kB,WAAWjH,cAAc7G,EAAE7W,KAAK2kB,WAAW/G,WAAW9G,EAAE,GAAIxV,MAAKtB,KAAK2kB,WAAY7N,GAAE0G,YAAY7G,EAAEE,EAAE,EAAG,IAAIE,GAAE/W,KAAKskB,YAAYxN,EAAE0Q,SAASxQ,EAAED,EAAE,EAAE,EAAEA,GAAGA,EAAEQ,EAAE,GAAIjW,MAAKwV,EAAGE,GAAE,GAAGO,EAAEgQ,SAASvQ,EAAE,EAAG,KAAI,GAAIS,GAAEzX,KAAK0nB,SAASnQ,EAAE,IAAInU,EAAE,EAAE,GAAGA,EAAEA,IAAIqU,EAAErU,GAAG9I,QAAQqX,OAAO3R,KAAK0lB,iBAAiBjO,EAAErU,GAAGpD,KAAKqjB,YAAYjD,UAAU3I,EAAErU,GAAGwa,aAAa/G,EAAEqO,IAAIxO,EAAEoO,SAAS,IAAI1hB,GAAIsT,GAAEiR,OAAO,GAAIjT,OAAM,EAAG,KAAI,GAAIvR,GAAE,EAAE,EAAEA,EAAEA,IAAIuT,EAAEiR,OAAOxkB,IAAIykB,KAAKhR,EAAEa,EAAEtU,GAAGwF,KAAK3I,KAAKwjB,iBAAiBqE,KAAKjR,EAAEa,EAAEtU,GAAGwF,KAAK,QAAS,IAAG+N,EAAEvb,MAAMyb,EAAE5W,KAAK2kB,WAAW3kB,KAAKyjB,gBAAgB/M,EAAEoR,KAAK9nB,KAAKZ,MAAMqY,EAAE,GAAGf,EAAEuN,UAAU,CAACvN,EAAEqR,cAAe,KAAI,GAAIvQ,IAAG,GAAGxX,KAAKskB,aAAa,EAAE5M,EAAEhB,EAAEoR,KAAKzoB,OAAOsY,EAAE,EAAED,EAAEC,EAAEA,IAAIjB,EAAEqR,YAAYlV,KAAKzR,EAAEsV,EAAEoR,KAAKnQ,GAAGH,GAAG7O,SAAS3I,KAAKglB,QAAQ,SAAStO,EAAEC,GAAG,GAAIC,GAAE,GAAItV,MAAKoV,EAAEgH,cAAchH,EAAEkH,WAAWlH,EAAEuH,WAAWpH,EAAE,GAAIvV,MAAKqV,EAAE+G,cAAc/G,EAAEiH,WAAWjH,EAAEsH,UAAW,OAAOrH,GAAE4G,YAAY9G,EAAEgH,eAAe7G,EAAE2G,YAAY7G,EAAE+G,eAAe9G,EAAEC,GAAG7W,KAAKsnB,cAAc,SAAS5Q,EAAEC,GAAG,GAAIC,GAAE5W,KAAK2kB,WAAW1G,SAAU,IAAG,SAASvH,EAAEE,GAAG,MAAO,IAAG,OAAOF,EAAEE,GAAG,MAAO,IAAG,UAAUF,EAAEE,GAAG,MAAO,IAAG,SAASF,EAAEE,GAAG,MAAO,IAAG,WAAWF,GAAG,aAAaA,EAAE,CAAC,GAAItV,GAAEpB,KAAK2kB,WAAW/G,YAAY,WAAWlH,GAAE,EAAG,EAAG1W,MAAK2kB,WAAW8C,SAASrmB,EAAE,GAAGwV,EAAEsC,KAAK8O,IAAInR,EAAE7W,KAAK2kB,WAAWjH,cAAc1d,KAAK2kB,WAAW/G,YAAYhH,OAAO,SAASF,EAAEE,EAAE,EAAE,QAAQF,IAAIE,EAAEC,EAAE7W,KAAK2kB,WAAWjH,cAAc1d,KAAK2kB,WAAW/G,YAAa5d,MAAK2kB,WAAW4C,QAAQ3Q,OAAOxb,WAAW,4BAA4B,SAAS,WAAW,aAAa,SAASsb,EAAEC,EAAEC,GAAG5W,KAAKmmB,MAAMC,MAAM,GAAGpmB,KAAK3B,QAAQsY,EAAE3W,KAAK3C,KAAK,SAASqZ,GAAGpc,QAAQqX,OAAO+E,EAAE1W,MAAM0W,EAAE+N,eAAezkB,KAAKulB,aAAa,WAAW,IAAI,GAAI5O,GAAEE,EAAE,GAAInC,OAAM,IAAItT,EAAEpB,KAAK2kB,WAAWjH,cAAc5G,EAAE,EAAE,GAAGA,EAAEA,IAAIH,EAAE,GAAIrV,MAAKtB,KAAK2kB,YAAYhO,EAAE6G,YAAYpc,EAAE0V,EAAE,GAAGD,EAAEC,GAAGxc,QAAQqX,OAAO3R,KAAK0lB,iBAAiB/O,EAAE3W,KAAKsjB,cAAc4B,IAAIxO,EAAEoO,SAAS,IAAIhO,GAAIJ,GAAEvb,MAAMyb,EAAE5W,KAAK2kB,WAAW3kB,KAAK0jB,kBAAkBhN,EAAEoR,KAAK9nB,KAAKZ,MAAMyX,EAAE,IAAI7W,KAAKglB,QAAQ,SAAStO,EAAEC,GAAG,GAAIC,GAAE,GAAItV,MAAKoV,EAAEgH,cAAchH,EAAEkH,YAAY/G,EAAE,GAAIvV,MAAKqV,EAAE+G,cAAc/G,EAAEiH,WAAY,OAAOhH,GAAE4G,YAAY9G,EAAEgH,eAAe7G,EAAE2G,YAAY7G,EAAE+G,eAAe9G,EAAEC,GAAG7W,KAAKsnB,cAAc,SAAS5Q,EAAEC,GAAG,GAAIC,GAAE5W,KAAK2kB,WAAW/G,UAAW,IAAG,SAASlH,EAAEE,GAAG,MAAO,IAAG,OAAOF,EAAEE,GAAG,MAAO,IAAG,UAAUF,EAAEE,GAAG,MAAO,IAAG,SAASF,EAAEE,GAAG,MAAO,IAAG,WAAWF,GAAG,aAAaA,EAAE,CAAC,GAAIG,GAAE7W,KAAK2kB,WAAWjH,eAAe,WAAWhH,GAAE,EAAG,EAAG1W,MAAK2kB,WAAWnH,YAAY3G,OAAO,SAASH,EAAEE,EAAE,EAAE,QAAQF,IAAIE,EAAE,GAAI5W,MAAK2kB,WAAW8C,SAAS7Q,OAAOxb,WAAW,2BAA2B,SAAS,WAAW,aAAa,SAASsb,EAAEC,EAAEC,GAAG,QAASC,GAAEH,GAAG,MAAOrU,WAAUqU,EAAE,GAAGI,EAAE,IAAIA,EAAE,EAAE,GAAI1V,GAAE0V,CAAE9W,MAAK3B,QAAQsY,EAAE3W,KAAKioB,eAAe,WAAW7mB,EAAEpB,KAAKkkB,YAAYpN,EAAE9W,KAAKmkB,SAAS/iB,EAAEpB,KAAKmmB,MAAMC,MAAMtP,IAAI9W,KAAKulB,aAAa,WAAW,IAAI,GAAI5O,GAAEC,EAAE,GAAIlC,OAAMoC,GAAGC,EAAE,EAAEC,EAAEH,EAAE7W,KAAK2kB,WAAWjH,eAAe5G,EAAEC,EAAEA,IAAIJ,EAAE,GAAIrV,MAAKtB,KAAK2kB,YAAYhO,EAAE6G,YAAYxG,EAAED,EAAE,EAAE,GAAGH,EAAEG,GAAGzc,QAAQqX,OAAO3R,KAAK0lB,iBAAiB/O,EAAE3W,KAAKujB,aAAa2B,IAAIxO,EAAEoO,SAAS,IAAI/N,GAAIL,GAAEvb,OAAOyb,EAAE,GAAG+O,MAAM/O,EAAEE,EAAE,GAAG6O,OAAO9I,KAAK,OAAOnG,EAAEoR,KAAK9nB,KAAKZ,MAAMwX,EAAExV,GAAGsV,EAAEwR,QAAQ9mB,GAAGpB,KAAKglB,QAAQ,SAAStO,EAAEC,GAAG,MAAOD,GAAEgH,cAAc/G,EAAE+G,eAAe1d,KAAKsnB,cAAc,SAAS5Q,EAAEC,GAAG,GAAIC,GAAE5W,KAAK2kB,WAAWjH,aAAc,UAAShH,EAAEE,GAAG,EAAE,OAAOF,EAAEE,GAAGxV,EAAE,UAAUsV,EAAEE,GAAG,EAAE,SAASF,EAAEE,GAAGxV,EAAE,WAAWsV,GAAG,aAAaA,EAAEE,IAAI,WAAWF,GAAE,EAAG,GAAGI,EAAE,SAASJ,EAAEE,EAAEC,EAAE7W,KAAK2kB,WAAWjH,eAAe,QAAQhH,IAAIE,EAAEC,EAAE7W,KAAK2kB,WAAWjH,eAAe5G,EAAE,GAAG9W,KAAK2kB,WAAWnH,YAAY5G,OAAOtX,UAAU,gBAAgB,WAAW,OAAOqD,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,2CAA2C2E,OAAOyjB,eAAe,KAAKgB,kBAAkB,KAAK4B,aAAa,IAAID,YAAY,IAAI/B,oBAAoB,MAAMziB,SAAS,gBAAgB,YAAYnG,WAAW,0BAA0Bod,aAAa,aAAa/Y,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGzV,GAAE/D,KAAKyZ,OAAOxX,UAAU,eAAe,WAAW,OAAOqD,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,oCAAoCuG,SAAS,iBAAiB,gBAAgBnG,WAAW,yBAAyBqE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGC,GAAEzZ,KAAK+D,OAAO9B,UAAU,iBAAiB,WAAW,OAAOqD,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,sCAAsCuG,SAAS,iBAAiB,kBAAkBnG,WAAW,2BAA2BqE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGC,GAAEzZ,KAAK+D,OAAO9B,UAAU,gBAAgB,WAAW,OAAOqD,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,qCAAqCuG,SAAS,iBAAiB,iBAAiBnG,WAAW,0BAA0BqE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,EAAGvc,SAAQqX,OAAOvQ,EAAEyV,EAAE,IAAIzV,EAAE6mB,iBAAiB7mB,EAAEqjB,kBAAkBlmB,MAAM,sCAAqC,GAAI2Z,SAAS,4BAA4BiQ,mBAAmBC,cAAa,EAAGC,UAAU,QAAQC,sBAAqB,EAAGC,UAAU,OAAOC,YAAY,QAAQC,gBAAgB,aAAaC,2BAA2B,qCAAqCC,sBAAsB,0CAA0CC,YAAYjgB,KAAK,aAAakgB,iBAAiB,0BAA0BlL,MAAM,WAAWmL,aAAY,EAAGC,eAAc,EAAG/F,UAAU,qBAAqB5nB,WAAW,gCAAgC,SAAS,WAAW,SAAS,WAAW,OAAO,SAAS,UAAU,YAAY,aAAa,eAAe,aAAa,gBAAgB,2BAA2B,WAAW,sBAAsB,qCAAqC,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,EAAEO,EAAEE,EAAErU,EAAED,EAAEqU,EAAEE,EAAEC,EAAE3K,GAAG,QAAS8N,GAAEpE,GAAG,MAAOA,GAAE/T,QAAQ,WAAW,SAAS+T,GAAG,MAAM,IAAIA,EAAE1U,gBAAgB,QAASuZ,GAAE5E,GAAG,GAAIC,GAAEzT,EAAEmO,MAAMqF,EAAEf,EAAEc,EAAE/N,KAAM,IAAG3F,MAAM4T,GAAG,IAAI,GAAIC,GAAE,EAAEA,EAAEmS,EAAE3pB,OAAOwX,IAAI,GAAGD,EAAEzT,EAAEmO,MAAMqF,EAAEqS,EAAEnS,GAAGH,EAAE/N,OAAO3F,MAAM4T,GAAG,MAAOA,EAAE,OAAOA,GAAE,QAASuE,GAAEzE,GAAG,GAAGpc,QAAQmhB,SAAS/E,KAAKA,EAAE,GAAIpV,MAAKoV,KAAKA,EAAE,MAAO,KAAK,IAAGpc,QAAQqkB,OAAOjI,KAAK1T,MAAM0T,GAAG,MAAOA,EAAE,IAAGpc,QAAQoX,SAASgF,GAAG,CAAC,GAAIC,GAAE4E,EAAE7E,EAAG,KAAI1T,MAAM2T,GAAG,MAAOxT,GAAEic,WAAWzI,EAAEsS,EAAEzE,UAAU,MAAO0E,GAAE/D,UAAU+D,EAAE/D,SAASgE,aAAazS,EAAE,OAAO,QAASkE,GAAElE,EAAEC,GAAG,GAAIE,GAAEH,GAAGC,CAAE,QAAOC,EAAEwS,aAAYvS,IAAGvc,QAAQmhB,SAAS5E,KAAKA,EAAE,GAAIvV,MAAKuV,KAAIA,OAAEvc,QAAQqkB,OAAO9H,IAAK7T,MAAM6T,OAAMvc,QAAQoX,SAASmF,KAAI7T,MAAMuY,EAAE5E,MAAc,QAASsE,GAAErE,GAAG,GAAGF,EAAE2B,SAAS3B,EAAE4D,SAAS,CAAC,GAAIzD,GAAEwS,EAAE,GAAGjoB,EAAEuV,EAAE,GAAG2S,SAAS1S,EAAEtT,QAAQwT,EAAE,SAASD,EAAEyS,UAAUzS,EAAEyS,SAAS1S,EAAEtT,SAASoT,EAAE2B,QAAQjX,GAAG0V,GAAGJ,EAAEhY,OAAO,WAAWgY,EAAE2B,QAAO,KAAM,QAASkR,GAAE3S,GAAG,KAAKA,EAAEvT,OAAOqT,EAAE2B,QAAQzB,EAAE/Y,iBAAiB+Y,EAAEwQ,kBAAkB1Q,EAAEhY,OAAO,WAAWgY,EAAE2B,QAAO,IAAK1B,EAAE,GAAGvW,SAAS,KAAKwW,EAAEvT,OAAOqT,EAAE2B,SAASzB,EAAE/Y,iBAAiB+Y,EAAEwQ,kBAAkB1Q,EAAEhY,OAAO,WAAWgY,EAAE2B,QAAO,KAAM,QAASja,KAAI,GAAGsY,EAAE2B,OAAO,CAAC,GAAIxB,GAAEvc,QAAQ+D,QAAQgrB,EAAE,GAAG7V,cAAc,0BAA0BpS,EAAEwV,EAAE4S,eAAe5S,EAAE4S,eAAehS,EAAEwL,UAAUlM,EAAEW,EAAEsL,iBAAiBpM,EAAEE,EAAEzV,EAAEqoB,EAAG5S,GAAEvG,KAAKkR,IAAI1K,EAAE0K,IAAI,KAAKE,KAAK5K,EAAE4K,KAAK,OAAO7K,EAAEI,SAAS,yBAAyBJ,EAAE3V,YAAY,yBAAyB,GAAI0U,GAAE8T,EAAED,EAAEE,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEd,EAAED,EAAEI,EAAEL,EAAEiB,KAAKC,GAAE,EAAGC,IAAKzT,GAAE0T,aAAapqB,KAAK3C,KAAK,SAASoa,GAAG,GAAGyR,EAAEzR,EAAEwR,EAAExR,EAAE0N,UAAUxN,EAAEoM,eAAe2F,EAAEpvB,QAAQ8L,UAAUwQ,EAAE0R,sBAAsB5R,EAAEoD,QAAQ9B,MAAMpB,EAAE0R,sBAAsB9Q,EAAE8Q,qBAAqBmB,EAAEnvB,QAAQ8L,UAAUwQ,EAAEyT,wBAAwB3T,EAAEoD,QAAQ9B,MAAMpB,EAAEyT,wBAAwB7S,EAAE4Q,aAAauB,EAAErvB,QAAQ8L,UAAUwQ,EAAEkS,aAAapS,EAAEoD,QAAQ9B,MAAMpB,EAAEkS,aAAatR,EAAEsR,YAAYc,EAAEtvB,QAAQ8L,UAAUwQ,EAAE8R,4BAA4B9R,EAAE8R,2BAA2BlR,EAAEkR,2BAA2BmB,EAAEvvB,QAAQ8L,UAAUwQ,EAAE+R,uBAAuB/R,EAAE+R,sBAAsBnR,EAAEmR,sBAAsBK,EAAE1uB,QAAQ8L,UAAUwQ,EAAEuR,iBAAiBzR,EAAEoD,QAAQ9B,MAAMpB,EAAEuR,iBAAiB3Q,EAAE2Q,gBAAgBzR,EAAEqS,cAAczuB,QAAQ8L,UAAUwQ,EAAEmS,eAAerS,EAAEoD,QAAQ9B,MAAMpB,EAAEmS,eAAevR,EAAEuR,cAAcvR,EAAEoR,WAAWhS,EAAErI,OAAOqH,EAAE4B,EAAEoR,WAAWhS,EAAErI,MAAM2b,GAAE,IAAKtU,EAAEgB,EAAE0T,oBAAoB9S,EAAEiR,gBAAgB7R,EAAE2T,SAAS,qBAAqB,SAAS7T,EAAEC,GAAG,GAAIC,GAAEF,GAAGc,EAAEiR,eAAgB,IAAG7R,IAAIhB,IAAIA,EAAEgB,EAAEsS,EAAE3mB,YAAY,MAAMqT,GAAG,KAAM,IAAI4U,OAAM,6DAA6D5U,EAAE,KAAM,IAAI4U,OAAM,wDAAyD,IAAGN,GAAGtT,EAAE0T,mBAAmB,KAAM,IAAIE,OAAM,wDAAyDV,GAAExvB,QAAQ+D,QAAQ,mEAAmEqY,EAAEqN,eAAezpB,QAAQwN,KAAKmhB,GAAGvS,EAAEqN,eAAeS,SAAS,KAAK9N,EAAEqN,eAAe0G,mBAAkB,IAAK/T,EAAEqN,eAAe2G,SAAShU,EAAEqN,eAAe2G,SAAShU,EAAEqN,eAAe2G,SAAS,WAAW,WAAWZ,EAAEppB,MAAMiqB,WAAW,OAAOC,mBAAmB,iBAAiBC,YAAY,sBAAsBC,eAAelB,IAAIG,EAAEzvB,QAAQ+D,QAAQyrB,EAAE5V,WAAW,IAAI6V,EAAErpB,KAAK,eAAempB,GAAGK,GAAG,UAAUtT,EAAErI,OAAOwb,EAAErpB,KAAK,kBAAkB,WAAWqpB,EAAErpB,KAAK,WAAW,UAAUgW,EAAE0N,mBAAmB2F,EAAErpB,KAAK,qBAAqB,qBAAqBpG,QAAQwX,SAAS,UAAU,UAAU,iBAAiB,uBAAuB,SAAS6E,GAAG,GAAGC,EAAED,GAAG,CAAC3J,GAAG5L,EAAE4d,KAAK,+JAAgK,IAAInI,GAAEC,EAAEF,EAAED,IAAII,GAAGva,IAAI,WAAW,MAAOqa,GAAEH,EAAEoD,UAAW,IAAGiQ,EAAErpB,KAAKoa,EAAEnE,GAAG,aAAaA,GAAG,mBAAmBA,EAAE,CAAC,GAAIK,GAAEH,EAAEkU,MAAOhU,GAAEja,IAAI,SAAS6Z,GAAGK,EAAEN,EAAEoD,QAAQnD,IAAIhL,OAAOqf,eAAetU,EAAE0T,UAAUzT,EAAEI,MAAMzc,QAAQwX,SAAS,UAAU,UAAU,YAAY,SAAS6E,GAAG,GAAGC,EAAED,GAAG,CAAC3J,GAAG5L,EAAE4d,KAAK,+JAAgK,IAAInI,GAAEC,EAAEF,EAAED,GAAIwT,GAAEtX,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAE,SAASD,GAAG,GAAG,YAAYD,GAAG,YAAYA,EAAE,OAAOC,EAAEqT,EAAEtT,GAAG,KAAKrc,QAAQqkB,OAAO/H,GAAGqT,EAAEtT,GAAGxT,EAAEkc,aAAa,GAAI/d,MAAKsV,GAAGqS,EAAEzE,UAAUyF,EAAEtT,GAAG,GAAIrV,MAAK8B,EAAEwT,EAAE,WAAWF,EAAE0T,UAAUzT,GAAG,OAAOC,EAAE,KAAKqT,EAAEtT,OAAO,CAAC,GAAIE,GAAED,EAAE,GAAItV,MAAKsV,GAAG,GAAItV,KAAKoV,GAAE0T,UAAUzT,GAAGxT,EAAEkc,aAAaxI,EAAEoS,EAAEzE,cAAcuF,EAAErpB,KAAKoa,EAAEnE,GAAG,aAAaA,MAAMC,EAAEoP,eAAehZ,GAAG5L,EAAE4d,KAAK,gKAAgK+K,EAAErpB,KAAK,gBAAgB,6CAA6CpG,QAAQwX,SAAS,YAAY,cAAc,aAAa,kBAAkB,iBAAiB,mBAAmB,YAAY,cAAc,WAAW,eAAe,SAAS4E,GAAGpc,QAAQ8L,UAAUwQ,EAAEF,MAAM1J,GAAG5L,EAAE4d,KAAK,gKAAgK+K,EAAErpB,KAAKoa,EAAEpE,GAAGE,EAAEF,OAAOE,EAAEmP,cAAc/Y,GAAG5L,EAAE4d,KAAK,gKAAgK+K,EAAErpB,KAAK,eAAe,4CAA4CwpB,EAAEhB,EAAEznB,YAAYoR,KAAK,SAAS8D,GAAG,MAAOD,GAAE/N,KAAKxF,EAAEkc,aAAa1I,EAAEsS,EAAEzE,UAAU7N,KAAKuS,EAAE+B,aAAa,OAAO/B,EAAEgC,YAAYviB,KAAKiS,EAAEsO,EAAExnB,SAASkB,QAAQuY,GAAG+N,EAAEznB,YAAYoR,KAAK,SAAS8D,GAAG,MAAOuS,GAAEtE,SAASjO,IAAID,EAAE/N,KAAKgO,EAAEA,IAAID,EAAE/N,KAAKxF,EAAEkc,aAAa1I,EAAEsS,EAAEzE,UAAUlqB,QAAQmhB,SAAS/E,EAAE/N,QAAQ+N,EAAE/N,KAAK,GAAIrH,MAAKoV,EAAE/N,OAAOxF,EAAExB,OAAO+U,EAAE/N,KAAKiN,OAAOsT,EAAEiC,qBAAqBtY,KAAK,WAAW6D,EAAE/N,KAAK4S,EAAE2N,EAAE7D,cAAc1O,EAAEhW,GAAG,UAAU4oB,GAAGF,EAAExS,EAAEiT,GAAGpT,GAAGoT,EAAEpZ,SAAS+Y,EAAEzS,EAAEkD,KAAK,QAAQR,OAAO2P,GAAG1S,EAAEyU,MAAM/B,GAAG3S,EAAEpZ,IAAI,WAAW,WAAW,IAAIoZ,EAAE2B,UAAS,IAAKd,EAAE8T,SAAS3U,EAAEhY,OAAO,WAAWgY,EAAE2B,QAAO,KAAMgR,EAAE3Y,SAASiG,EAAE7V,IAAI,UAAUyoB,GAAGvS,EAAElW,IAAI,QAAQma,GAAG+O,GAAGA,EAAElpB,IAAI,SAAS1C,GAAG9D,QAAQ+D,QAAQ0Y,GAAGjW,IAAI,SAAS1C,GAAG+rB,EAAE9qB,QAAQ8qB,EAAEtP,aAAanE,EAAE4U,QAAQ,SAAS3U,GAAG,MAAOD,GAAEC,EAAE,SAASa,EAAEb,EAAE,SAASD,EAAEkC,WAAW,SAASjC,GAAG,MAAM,UAAUA,IAAIA,EAAExT,EAAEkc,aAAa,GAAI/d,MAAK2nB,EAAEzE,WAAW9N,EAAE0N,kBAAkB1N,EAAE0N,mBAAmB1N,EAAE0N,kBAAkBP,SAASnN,EAAEsO,QAAQrO,EAAED,EAAE0N,kBAAkBP,SAAS,GAAGnN,EAAE0N,kBAAkBT,SAASjN,EAAEsO,QAAQrO,EAAED,EAAE0N,kBAAkBT,SAAS,EAAEjN,EAAE0T,UAAUvG,SAASnN,EAAEsO,QAAQrO,EAAEsT,EAAEpG,SAAS,GAAGnN,EAAE0T,UAAUzG,SAASjN,EAAEsO,QAAQrO,EAAEsT,EAAEtG,SAAS,GAAGjN,EAAEsO,QAAQ,SAAStO,EAAEC,GAAG,MAAO,IAAIrV,MAAKoV,EAAEgH,cAAchH,EAAEkH,WAAWlH,EAAEuH,WAAW,GAAI3c,MAAKqV,EAAE+G,cAAc/G,EAAEiH,WAAWjH,EAAEsH,YAAYvH,EAAE6U,cAAc,SAAS3U,GAAGtc,QAAQ8L,UAAUwQ,KAAKF,EAAE/N,KAAKiO,EAAG,IAAIC,GAAEH,EAAE/N,KAAKxF,EAAExB,OAAO+U,EAAE/N,KAAKiN,GAAG,IAAKe,GAAEnU,IAAIqU,GAAGqS,EAAE1O,cAAc3D,GAAG6S,IAAIhT,EAAE2B,QAAO,EAAG1B,EAAE,GAAGvW,UAAUsW,EAAEuQ,QAAQ,SAASrQ,GAAG,KAAKA,EAAEvT,QAAQuT,EAAEwQ,kBAAkB1Q,EAAE2B,QAAO,EAAG1B,EAAE,GAAGvW,UAAUsW,EAAEzW,OAAO,SAAS0W,EAAEC,GAAG,GAAGA,EAAEwQ,kBAAkB,UAAUzQ,EAAE,CAAC,GAAIE,GAAE,GAAIvV,KAAKhH,SAAQqkB,OAAOjI,EAAE/N,OAAOgO,EAAE,GAAIrV,MAAKoV,EAAE/N,MAAMgO,EAAE6G,YAAY3G,EAAE6G,cAAc7G,EAAE+G,WAAW/G,EAAEoH,YAAYtH,EAAE,GAAIrV,MAAKuV,EAAEsI,SAAS,EAAE,EAAE,EAAE,IAAIzI,EAAE6U,cAAc5U,IAAID,EAAEkD,MAAM,SAAShD,GAAGA,EAAEwQ,kBAAkB1Q,EAAE2B,QAAO,EAAG1B,EAAE,GAAGvW,SAASsW,EAAE4D,SAAShgB,QAAQ8L,UAAUwQ,EAAE0D,YAAW,EAAG1D,EAAEmO,YAAYoF,EAAEtX,KAAK6D,EAAEoD,QAAQxb,OAAOwY,EAAEF,EAAEmO,YAAY,SAASpO,GAAGD,EAAE4D,SAAS3D,KAAKD,EAAEpY,OAAO,SAAS,SAASuY,GAAGA,EAAEH,EAAE4D,SAAS5D,EAAE2B,QAAO,EAAGX,EAAE,WAAWtZ,IAAIurB,GAAGjT,EAAE3B,WAAW,wBAAwBiC,EAAErW,GAAG,QAAQsa,EAAG,IAAIpE,GAAED,EAAE4S,eAAe5S,EAAE4S,eAAehS,EAAEwL,SAAUyG,IAAGhS,EAAEqL,eAAejM,GAAG,IAAImT,EAAEA,GAAG1vB,QAAQ+D,QAAQoZ,EAAE4J,aAAa1K,IAAIqT,GAAGA,EAAErpB,GAAG,SAASvC,IAAI4rB,EAAE,KAAK1vB,QAAQ+D,QAAQ0Y,GAAGpW,GAAG,SAASvC,IAAI,GAAE,IAAK4Y,EAAElW,IAAI,QAAQma,GAAG+O,GAAGA,EAAElpB,IAAI,SAAS1C,GAAG9D,QAAQ+D,QAAQ0Y,GAAGjW,IAAI,SAAS1C,MAAMsY,EAAEpZ,IAAI,sBAAsB,WAAWoa,EAAEtZ,EAAE,GAAE,QAASkB,UAAU,qBAAqB,WAAW,OAAOiC,SAAS,UAAU,sBAAsBnG,WAAW,+BAA+BuE,OAAOykB,kBAAkB,KAAK/L,OAAO,KAAKmQ,YAAY,IAAIH,UAAU,IAAIE,UAAU,IAAIvC,aAAa,IAAID,YAAY,KAAKtmB,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGC,GAAEzZ,KAAK+D,OAAO9B,UAAU,yBAAyB,WAAW,OAAOqD,SAAQ,EAAG8V,YAAW,EAAGzd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,yCAAyCV,QAAQC,OAAO,4BAA4B8F,QAAQ,cAAc,WAAW,SAASqW,GAAG,MAAO,UAASC,EAAEC,GAAG,GAAIC,EAAE,OAAO,YAAW,GAAIzV,GAAEpB,KAAK8W,EAAEpC,MAAM3G,UAAUyd,MAAM5M,KAAK1Q,UAAW2I,IAAGH,EAAEvN,OAAO0N,GAAGA,EAAEH,EAAE,WAAWC,EAAEhC,MAAMvT,EAAE0V,IAAIF,QAAQtc,QAAQC,OAAO,yBAAyB,0BAA0B2d,SAAS,qBAAqBuT,kBAAkB,oBAAoB3S,UAAU,SAASrT,QAAQ,sBAAsB,YAAY,aAAa,SAASiR,EAAEC,GAAG,GAAIC,GAAE,IAAK5W,MAAK0rB,KAAK,SAAS/U,GAAGC,IAAIF,EAAE/V,GAAG,QAAQkW,GAAGH,EAAE/V,GAAG,UAAUS,IAAIwV,GAAGA,IAAID,IAAIC,EAAEyB,QAAO,GAAIzB,EAAED,GAAG3W,KAAK4Z,MAAM,SAASjD,GAAGC,IAAID,IAAIC,EAAE,KAAKF,EAAE5V,IAAI,QAAQ+V,GAAGH,EAAE5V,IAAI,UAAUM,IAAK,IAAIyV,GAAE,SAASH,GAAG,GAAGE,KAAKF,GAAG,aAAaE,EAAE+U,gBAAgBjV,GAAG,IAAIA,EAAErT,OAAO,CAAC,GAAIwT,GAAED,EAAEgV,kBAAmB,MAAKlV,GAAGG,GAAGA,EAAE,GAAGyS,SAAS5S,EAAEpT,SAAS,CAAC,GAAIlC,GAAEwV,EAAEiV,oBAAqBnV,IAAG,iBAAiBE,EAAE+U,gBAAgBvqB,GAAGA,EAAE,GAAGkoB,SAAS5S,EAAEpT,UAAUsT,EAAEyB,QAAO,EAAG1B,EAAE0U,SAASzU,EAAElY,aAAa0C,EAAE,SAASsV,GAAG,KAAKA,EAAErT,OAAOuT,EAAEkV,qBAAqBjV,KAAKD,EAAEmV,oBAAmB,KAAM,GAAG,IAAI7Z,QAAQwE,EAAErT,QAAQuT,EAAEyB,SAAS3B,EAAE7Y,iBAAiB6Y,EAAE0Q,kBAAkBxQ,EAAEoV,mBAAmBtV,EAAErT,YAAYjI,WAAW,yBAAyB,SAAS,WAAW,SAAS,SAAS,oBAAoB,qBAAqB,WAAW,eAAe,YAAY,WAAW,mBAAmB,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,EAAEO,EAAEE,EAAErU,GAAG,GAAID,GAAEqU,EAAEE,EAAE1X,KAAK2X,EAAEjB,EAAEuV,OAAOjf,EAAE5L,EAAEqqB,kBAAkB3Q,EAAE1Z,EAAE0X,UAAUyC,EAAEjhB,QAAQif,KAAK4B,EAAEvE,EAAEsV,SAASrV,EAAED,EAAEsV,UAAU5xB,QAAQif,KAAKqB,GAAE,EAAGK,EAAE,KAAKsO,GAAE,EAAGnrB,EAAEmZ,EAAE2C,KAAK,OAAQvD,GAAE1V,SAAS,YAAYjB,KAAK3C,KAAK,WAAW,GAAGuZ,EAAEyB,SAASb,EAAEX,EAAED,EAAEyB,QAAQkD,EAAE/D,EAAEuT,OAAOrU,EAAEpY,OAAOkZ,EAAE,SAASd,GAAGiB,EAAEU,SAAS3B,KAAKpc,QAAQ8L,UAAUwQ,EAAEuV,kBAAkB,CAAC,GAAI/qB,GAAEyV,EAAED,EAAEuV,kBAAkBxU,EAAGvW,KAAI6Z,EAAE3gB,QAAQ+D,QAAQ+C,IAAIwZ,EAAEtgB,QAAQ8L,UAAUwQ,EAAEwV,sBAAsB7C,EAAEjvB,QAAQ8L,UAAUwQ,EAAEyV,aAAazR,IAAIK,IAAIA,EAAE7c,GAAG6c,GAAGvD,EAAE4U,eAAerR,EAAEvB,OAAOhC,EAAE4U,cAAc3V,EAAEhW,GAAG,WAAW,WAAW+W,EAAE4U,aAAa5b,aAAa1Q,KAAKusB,OAAO,SAAS7V,GAAG,MAAOiB,GAAEU,OAAOnK,UAAU7O,SAASqX,GAAGiB,EAAEU,OAAO/d,QAAQkX,WAAW+J,IAAIA,EAAE5D,EAAEA,EAAEU,QAAQV,EAAEU,QAAQrY,KAAKqY,OAAO,WAAW,MAAOV,GAAEU,QAAQV,EAAEiU,iBAAiB,WAAW,MAAOlU,GAAE8U,eAAe7U,EAAEgU,aAAa,WAAW,MAAO/U,GAAE6V,WAAW,UAAU9U,EAAE+U,WAAW,WAAW,MAAO/V,IAAGgB,EAAEoU,gBAAgB,WAAW,MAAOxC,IAAG5R,EAAEqU,mBAAmB,SAAStV,GAAG,GAAIE,GAAEc,EAAE4U,aAAahyB,QAAQ+D,QAAQqZ,EAAE4U,cAAcpS,KAAK,KAAKvD,EAAEuD,KAAK,MAAMyS,GAAG,GAAGzS,KAAK,IAAK,QAAOxD,GAAG,IAAK,IAAGpc,QAAQmhB,SAAS/D,EAAEkV,gBAAgBlV,EAAEkV,eAAelV,EAAEkV,iBAAiBhW,EAAEvX,OAAO,EAAEqY,EAAEkV,eAAelV,EAAEkV,eAAe,EAAElV,EAAEkV,eAAe,CAAE,MAAM,KAAK,IAAGtyB,QAAQmhB,SAAS/D,EAAEkV,gBAAgBlV,EAAEkV,eAAe,IAAIlV,EAAEkV,eAAe,EAAElV,EAAEkV,eAAe,EAAElV,EAAEkV,eAAehW,EAAEvX,OAAO,EAAEuX,EAAEc,EAAEkV,gBAAgBxsB,SAASuX,EAAEkU,mBAAmB,WAAW,MAAOnU,GAAE4U,cAAc3U,EAAEmU,mBAAmB,WAAWpU,EAAE8U,eAAe9U,EAAE8U,cAAc,GAAGpsB,SAASuX,EAAErZ,OAAO,SAAS,SAASsY,EAAEC,GAAG,GAAGoE,GAAGvD,EAAE4U,aAAa,CAAC,GAAIlrB,GAAEmW,EAAEC,EAAER,EAAE+L,iBAAiBpM,EAAEe,EAAE4U,aAAa,eAAc,EAAI,IAAGlrB,GAAGogB,IAAIhK,EAAEgK,IAAI,KAAKrH,QAAQvD,EAAE,QAAQ,QAAQW,EAAEG,EAAE4U,aAAarV,SAAS,uBAAuBM,GAAGnW,EAAEsgB,KAAK,OAAOtgB,EAAEohB,MAAMqK,OAAO3uB,YAAYsZ,EAAEkK,KAAK/K,EAAErE,KAAK,gBAAgB,OAAOlR,EAAEsgB,KAAKlK,EAAEkK,KAAK,KAAKtgB,EAAEohB,MAAM,SAAS5H,EAAE,CAAC,GAAI2O,GAAEvS,EAAEuK,OAAOtG,EAAG7Z,GAAEogB,IAAIhK,EAAEgK,IAAI+H,EAAE/H,IAAI,KAAKjK,EAAEnW,EAAEohB,MAAMqK,OAAO3uB,YAAYsZ,EAAEkK,KAAK6H,EAAE7H,KAAK/K,EAAErE,KAAK,gBAAgB,KAAKlR,EAAEsgB,KAAKlK,EAAEkK,KAAK6H,EAAE7H,KAAK,KAAKhK,EAAE4U,aAAahc,IAAIlP,GAAG,GAAIhD,GAAE6c,EAAEA,EAAEtE,EAAEf,EAAExX,EAAE6Y,SAASgE,EAAEjO,EAAE8N,EAAG,IAAGlF,KAAKgB,GAAGG,EAAEH,EAAE,WAAW,eAAexY,EAAE6c,EAAEjO,EAAE8N,GAAGre,KAAK,WAAWnC,QAAQ8L,UAAUwQ,IAAIA,IAAIC,GAAGsE,EAAEzE,GAAGgV,OAAO9U,MAAMA,EAAEc,EAAEoV,yBAAyB1pB,EAAEsU,EAAEoV,yBAAyBrwB,KAAK,SAASia,GAAGvT,EAAEwU,EAAEsU,OAAOxU,EAAEf,EAAEqW,QAAQ5pB,EAAE,SAASuT,GAAG,GAAIC,GAAED,CAAEgB,GAAE4U,aAAaU,YAAYrW,GAAGe,EAAE4U,aAAa3V,MAAMgB,EAAEmU,qBAAqBhV,EAAE4U,KAAK/T,OAAO,CAAC,GAAGD,EAAEoV,wBAAwB,CAAC3pB,GAAGA,EAAE8pB,UAAW,IAAIvD,GAAEpvB,QAAQ+D,QAAQ,kCAAmCqZ,GAAE4U,aAAaU,YAAYtD,GAAGhS,EAAE4U,aAAa5C,EAAE5S,EAAE8C,MAAMjC,GAAGD,EAAEkV,eAAe,KAAKtyB,QAAQkX,WAAW+J,IAAIA,EAAE7E,EAAEE,KAAKF,EAAEpZ,IAAI,yBAAyB,WAAW,aAAaqa,EAAEgU,iBAAiBhU,EAAEU,QAAO,QAAS/Y,UAAU,cAAc,WAAW,OAAOlE,WAAW,wBAAwBqE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAExZ,WAAWiC,UAAU,kBAAkB,WAAW,OAAOE,SAAS,IAAI+B,QAAQ,gBAAgB9B,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAGA,IAAIvc,QAAQ8L,UAAUwQ,EAAEsW,gBAAgB,CAACvW,EAAE1V,SAAS,gBAAiB,IAAIG,GAAEwV,EAAE5b,WAAYoG,KAAIyV,EAAEiW,wBAAwB1rB,GAAGyV,EAAEyV,eAAezV,EAAEyV,aAAa3V,QAAQrX,UAAU,oBAAoB,WAAW,OAAOiC,QAAQ,gBAAgB9B,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAGA,EAAE,CAACF,EAAE1V,SAAS,mBAAmB4V,EAAE2V,cAAc7V,CAAE,IAAIvV,GAAE,SAASA,GAAGA,EAAEvD,iBAAiB8Y,EAAEM,SAAS,aAAaL,EAAE0D,UAAU5D,EAAEhY,OAAO,WAAWmY,EAAE0V,WAAY5V,GAAElY,KAAK,QAAQ2C,GAAGuV,EAAEjW,MAAMysB,iBAAgB,EAAGC,iBAAgB,IAAK1W,EAAEpY,OAAOuY,EAAEwB,OAAO,SAAS3B,GAAGC,EAAEjW,KAAK,kBAAkBgW,KAAKA,EAAEpZ,IAAI,WAAW,WAAWqZ,EAAE0W,OAAO,QAAQjsB,UAAU9G,QAAQC,OAAO,8BAA8B8F,QAAQ,eAAe,WAAW,OAAOitB,UAAU,WAAW,GAAI5W,KAAK,QAAO5F,IAAI,SAAS6F,EAAEC,GAAGF,EAAE7D,MAAM5M,IAAI0Q,EAAEpY,MAAMqY,KAAKpa,IAAI,SAASma,GAAG,IAAI,GAAIC,GAAE,EAAEA,EAAEF,EAAErX,OAAOuX,IAAI,GAAGD,IAAID,EAAEE,GAAG3Q,IAAI,MAAOyQ,GAAEE,IAAIhL,KAAK,WAAW,IAAI,GAAI+K,MAAKC,EAAE,EAAEA,EAAEF,EAAErX,OAAOuX,IAAID,EAAE9D,KAAK6D,EAAEE,GAAG3Q,IAAK,OAAO0Q,IAAG6K,IAAI,WAAW,MAAO9K,GAAEA,EAAErX,OAAO,IAAIqR,OAAO,SAASiG,GAAG,IAAI,GAAIC,IAAE,EAAGC,EAAE,EAAEA,EAAEH,EAAErX,OAAOwX,IAAI,GAAGF,IAAID,EAAEG,GAAG5Q,IAAI,CAAC2Q,EAAEC,CAAE,OAAM,MAAOH,GAAE3D,OAAO6D,EAAE,GAAG,IAAI2W,UAAU,WAAW,MAAO7W,GAAE3D,OAAO2D,EAAErX,OAAO,EAAE,GAAG,IAAIA,OAAO,WAAW,MAAOqX,GAAErX,aAAa/E,QAAQC,OAAO,sBAAsB,4BAA4B8F,QAAQ,aAAa,WAAW,OAAOitB,UAAU,WAAW,GAAI5W,KAAK,QAAO8W,QAAQ,WAAW,MAAO7hB,QAAOC,KAAK8K,GAAG7K,IAAI,SAAS8K,GAAG,OAAO1Q,IAAI0Q,EAAEpY,MAAMmY,EAAEC,OAAOna,IAAI,SAASma,GAAG,MAAOD,GAAEC,IAAI8W,OAAO,SAAS9W,GAAG,QAAQD,EAAEC,IAAI/K,KAAK,WAAW,MAAOD,QAAOC,KAAK8K,IAAIgX,IAAI,SAAS/W,EAAEC,GAAGF,EAAEC,KAAKD,EAAEC,OAAOD,EAAEC,GAAG9D,KAAK+D,IAAIlG,OAAO,SAASiG,EAAEC,GAAG,GAAIC,GAAEH,EAAEC,EAAG,IAAGE,EAAE,CAAC,GAAIzV,GAAEyV,EAAE3E,QAAQ0E,IAAG,IAAKxV,GAAGyV,EAAE9D,OAAO3R,EAAE,GAAGyV,EAAExX,cAAeqX,GAAEC,UAAUrH,SAAS,cAAc,WAAW,GAAIoH,GAAE1W,IAAKA,MAAK2tB,SAAS,KAAK3tB,KAAK4tB,YAAY,SAASlX,GAAG1W,KAAK2tB,SAASjX,GAAG1W,KAAK8P,MAAM,YAAY,KAAK,SAAS6G,EAAEC,GAAG,GAAIC,GAAEH,EAAEiX,SAAShX,EAAEna,IAAIka,EAAEiX,UAAU,IAAK,QAAOrgB,QAAQ,SAASoJ,EAAEtV,EAAE0V,EAAEC,GAAG,GAAGF,EAAE,MAAOA,GAAEvJ,QAAQoJ,EAAEtV,EAAE0V,EAAEC,EAAG,IAAIC,KAAK,OAAO1c,SAAQwX,QAAQ4E,EAAE,SAASA,GAAGpc,QAAQkX,WAAWkF,IAAIpc,QAAQuX,QAAQ6E,GAAGM,EAAEnE,KAAK+D,EAAEtJ,QAAQqJ,EAAElF,OAAOiF,KAAKpc,QAAQoX,SAASgF,GAAGM,EAAEnE,KAAK+D,EAAEtJ,QAAQqJ,EAAEna,IAAIka,KAAKM,EAAEnE,KAAK+D,EAAEtJ,QAAQoJ,MAAME,EAAE3P,IAAI+P,GAAGva,KAAK,SAASka,GAAG,GAAIC,MAAKC,EAAE,CAAE,OAAOvc,SAAQwX,QAAQ4E,EAAE,SAASA,EAAEtV,GAAGwV,EAAExV,GAAGuV,EAAEE,OAAOD,UAAUtX,UAAU,oBAAoB,WAAW,YAAY,iBAAiB,SAASoX,EAAEC,EAAEC,GAAG,QAASC,GAAEF,EAAEE,EAAEzV,GAAGA,EAAEysB,eAAenX,EAAEzV,SAAS4V,EAAEzV,EAAEysB,cAAclX,EAAErZ,IAAIsZ,EAAEkX,kBAAkB,SAASlX,EAAEE,GAAG,GAAIC,GAAED,GAAIH,GAAEoX,aAAatR,UAAU/F,EAAExV,YAAY2V,EAAEzV,EAAEysB,cAAcpxB,KAAKsa,GAAGA,OAAO,OAAOpU,SAAQ,EAAG3H,YAAY,mCAAmCwb,QAAQ,SAASE,EAAEC,GAAG,MAAOD,GAAEzV,SAAS0V,EAAEqX,eAAenX,OAAOvX,UAAU,kBAAkB,iBAAiB,KAAK,cAAc,YAAY,SAASoX,EAAEC,EAAEC,EAAEC,GAAG,OAAOlX,OAAOmT,MAAM,KAAKnQ,SAAQ,EAAG8V,YAAW,EAAGzd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,kCAAkCyE,KAAK,SAAS2B,EAAE0V,EAAEC,GAAGD,EAAE7V,SAAS8V,EAAEtQ,aAAa,IAAIqQ,EAAE7V,SAAS8V,EAAEkX,gBAAgB,IAAI7sB,EAAEsF,KAAKqQ,EAAErQ,KAAKtF,EAAEwY,MAAM,SAASjD,GAAG,GAAIC,GAAEF,EAAEwX,QAAStX,IAAGA,EAAErY,MAAM4vB,UAAU,WAAWvX,EAAErY,MAAM4vB,UAAUxX,EAAErT,SAASqT,EAAEyX,gBAAgBzX,EAAE9Y,iBAAiB8Y,EAAEyQ,kBAAkB1Q,EAAE2X,QAAQzX,EAAE3Q,IAAI,oBAAoB6Q,EAAEnW,GAAG,QAAQS,EAAEwY,OAAOxY,EAAEktB,aAAY,CAAG,IAAItX,GAAEL,EAAEvJ,OAAQ2J,GAAEwT,SAAS,cAAc,SAAS7T,GAAG,SAASA,GAAGM,EAAE1J,YAAY0J,EAAErJ,QAAQlR,KAAK,WAAW,GAAIua,GAAE,IAAKD,GAAE8W,eAAe7W,EAAEJ,EAAEE,GAAG7V,SAAS8V,EAAE8W,eAAevW,QAAQlW,EAAE9D,IAAIoZ,EAAEoX,kBAAkB,SAASpX,EAAEC,GAAG,GAAIE,GAAEF,GAAIC,GAAEE,GAAG5V,YAAY6V,EAAE8W,eAAevW,QAAQ7a,KAAKoa,MAAMF,EAAE4X,KAAKvX,GAAGva,KAAK,WAAW,GAAIka,GAAED,EAAEwX,QAAS,IAAGvX,GAAGD,EAAE8X,cAAc7X,EAAE1Q,MAAM4Q,EAAE,GAAG4X,gBAAgB3X,EAAE,GAAGwS,SAASzS,EAAE,GAAG4X,eAAe,CAAC,GAAI7X,GAAEE,EAAE,GAAGtD,cAAc,cAAeoD,GAAEA,EAAExW,QAAQ0W,EAAE,GAAG1W,kBAAkBd,UAAU,yBAAyB,WAAW,OAAOkX,QAAQ,SAASE,EAAEC,GAAGA,EAAE+X,gBAAgBhY,EAAEzV,SAAS0V,EAAEgY,4BAA4BrvB,UAAU,qBAAqB,WAAW,OAAOG,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,EAAEzV,GAAGA,EAAEsV,EAAEoD,QAAQ,SAASpD,GAAGC,EAAEiY,QAAQjY,EAAE+C,OAAOhD,SAASrW,QAAQ,kBAAkB,WAAW,cAAc,YAAY,WAAW,aAAa,KAAK,aAAa,eAAe,SAASqW,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,GAAG,QAASO,GAAEb,GAAG,SAASA,EAAEqK,aAAarK,EAAEwL,cAAcxL,EAAEmY,iBAAiBxvB,QAAQ,QAASoY,KAAI,IAAI,GAAIf,IAAE,EAAGC,EAAEiE,EAAEhP,OAAOgL,EAAE,EAAEA,EAAED,EAAEtX,OAAOuX,IAAIgE,EAAEpe,IAAIma,EAAEC,IAAIrY,MAAM4vB,WAAWzX,EAAEE,EAAG,OAAOF,GAAE,QAAStT,GAAEsT,EAAEC,GAAG,GAAIC,GAAEgE,EAAEpe,IAAIka,GAAGnY,MAAMsY,EAAED,EAAEkY,QAASlU,GAAElK,OAAOgG,GAAGgB,EAAEd,EAAEmY,WAAWnY,EAAEoY,WAAW,WAAW,GAAIrY,GAAEC,EAAEqY,aAAa9T,CAAEF,GAAEvK,OAAOiG,EAAED,GAAGG,EAAEkC,YAAYpC,EAAEsE,EAAEwS,OAAO9W,IAAIxT,GAAE,IAAKyT,EAAEsY,gBAAgB1X,IAAIb,GAAGA,EAAEvW,MAAMuW,EAAEvW,QAAQyW,EAAEzW,OAAOyW,EAAEzW,QAAQ,QAAS+C,GAAEuT,GAAG,GAAIC,EAAEiE,GAAEvb,SAAS,IAAIsX,EAAEiE,EAAE4G,MAAMjjB,MAAMoY,EAAEoY,WAAWhW,YAAYpC,EAAEsX,gBAAgB,GAAGvX,IAAI,QAASc,KAAI,GAAGsD,IAAG,IAAKrD,IAAI,CAAC,GAAIf,GAAE6E,CAAE7D,GAAEoD,EAAES,EAAE,WAAW7E,EAAE,OAAOoE,EAAE,OAAOS,EAAE,QAAQ,QAAS7D,GAAEf,EAAEC,EAAEC,EAAEzV,GAAG,QAAS2V,KAAIA,EAAE4F,OAAO5F,EAAE4F,MAAK,EAAGjG,EAAEyY,MAAMxY,GAAGla,KAAK,WAAWka,EAAEjG,SAAStP,GAAGA,EAAEkM,YAAYsJ,EAAEqW,WAAWpW,GAAGA,KAAK,GAAIG,GAAEO,EAAE,KAAKE,EAAE,WAAW,MAAOT,KAAIA,EAAEF,EAAE1J,QAAQmK,EAAEP,EAAErJ,SAAS,WAAWqJ,EAAE1J,WAAY,OAAOsJ,GAAE7B,WAAWwU,EAAEuE,kBAAkBrW,GAAGX,EAAEyX,KAAKhX,GAAG9a,KAAKsa,GAAG,QAASY,GAAEjB,GAAG,GAAGA,EAAE0Y,qBAAqB,MAAO1Y,EAAE,IAAIC,GAAEiE,EAAE4G,KAAM,IAAG7K,EAAE,OAAOD,EAAErT,OAAO,IAAK,IAAGsT,EAAEpY,MAAM8wB,WAAW3Y,EAAE7Y,iBAAiBuD,EAAE1C,OAAO,WAAW6qB,EAAE8E,QAAQ1X,EAAE1Q,IAAI,sBAAuB,MAAM,KAAK,GAAE,GAAI2Q,GAAE2S,EAAE+F,qBAAqB3Y,GAAGE,GAAE,CAAGH,GAAEwQ,UAAUqC,EAAEgG,mBAAmB7Y,EAAEE,IAAI2S,EAAEiG,eAAe9Y,EAAEC,MAAME,EAAE0S,EAAEkG,0BAA0B7Y,IAAI2S,EAAEmG,kBAAkBhZ,EAAEE,KAAKC,EAAE0S,EAAEoG,2BAA2B/Y,IAAIC,IAAIH,EAAE7Y,iBAAiB6Y,EAAE0Q,oBAAoB,QAASpa,GAAE0J,EAAEC,EAAEC,GAAG,OAAOF,EAAEnY,MAAMywB,WAAWja,WAAW,gBAAgB4B,EAAEC,GAAGgZ,iBAAiB,GAAI9U,GAAES,EAAEJ,EAAE,aAAaP,EAAE5D,EAAEsW,YAAYrS,EAAElE,EAAEuW,YAAY/D,GAAGuE,kBAAkB,2BAA2B1vB,EAAE,kLAAmL,OAAOgD,GAAE9C,OAAOmZ,EAAE,SAASf,GAAG6E,IAAIA,EAAEzI,MAAM4D,KAAKE,EAAEjW,GAAG,UAAUgX,GAAGvW,EAAE9D,IAAI,WAAW,WAAWsZ,EAAE9V,IAAI,UAAU6W,KAAK4R,EAAEmC,KAAK,SAAS/U,EAAEG,GAAG,GAAIC,GAAEH,EAAE,GAAG6X,cAAczX,EAAEF,EAAEmY,aAAa9T,CAAEhY,IAAE,GAAIyX,EAAE9J,IAAI6F,GAAGxJ,SAAS2J,EAAE3J,SAAS0iB,eAAe/Y,EAAE+Y,eAAeX,eAAepY,EAAEoY,eAAeF,WAAWlY,EAAEnX,MAAMwuB,SAASrX,EAAEqX,SAASkB,SAASvY,EAAEuY,SAASJ,YAAYnY,EAAEmY,YAAYhB,eAAenX,EAAEmX,eAAexR,UAAU3F,EAAE2F,UAAUqS,SAAShY,EAAEgY,WAAW7T,EAAEyS,IAAI1W,EAAEL,EAAG,IAAIY,GAAET,EAAEgY,SAAS1rB,EAAEqU,GAAI,KAAIF,EAAElY,OAAO,KAAM,IAAImrB,OAAM,2EAA4EpnB,IAAG,IAAI0X,IAAIS,EAAEna,EAAE6qB,MAAK,GAAI1Q,EAAEwS,aAAajX,EAAEyE,EAAEzI,MAAM1P,EAAE0X,EAAExgB,QAAQ+D,QAAQ,mDAAmDyc,EAAEpa,KAAK,iBAAiBoW,EAAEkX,eAAelX,EAAE2F,WAAW3B,EAAEpa,KAAK,kBAAkB,QAAQmW,EAAEiE,GAAGS,GAAG7E,EAAEoZ,MAAMhV,EAAEvD,GAAI,IAAIC,GAAEld,QAAQ+D,QAAQ,8CAA+CmZ,GAAE9W,MAAMoqB,eAAehU,EAAEiZ,kBAAkBC,eAAelZ,EAAErQ,YAAYwpB,mBAAmBnZ,EAAEmX,eAAevnB,KAAKoQ,EAAEpQ,KAAKoM,MAAM8H,EAAEvb,SAAS,EAAE6wB,QAAQ,YAAYzW,KAAK3C,EAAEqZ,SAASrZ,EAAE2F,WAAWjF,EAAE9W,KAAK,kBAAkB,QAAQgW,EAAEoZ,MAAMjZ,EAAEW,GAAGV,EAAEnX,OAAO4X,GAAG9a,KAAK,WAAWqa,EAAEnX,MAAMywB,2BAA2B1Z,EAAEzV,SAASsW,EAAEP,KAAK4D,EAAE4G,MAAMjjB,MAAMwwB,WAAWvX,EAAEoD,EAAE4G,MAAMjjB,MAAM8xB,YAAYtZ,GAAGwS,EAAE3P,MAAM,SAASlD,EAAEC,GAAG,GAAIC,GAAEgE,EAAEpe,IAAIka,EAAG,OAAOE,IAAG5J,EAAE4J,EAAED,GAAE,IAAKC,EAAErY,MAAMywB,WAAWoB,2BAA0B,EAAGxZ,EAAErY,MAAM4O,SAASG,QAAQqJ,GAAGvT,EAAEsT,EAAEE,EAAErY,MAAM8xB,cAAa,IAAKzZ,GAAG2S,EAAE8E,QAAQ,SAAS3X,EAAEC,GAAG,GAAIC,GAAEgE,EAAEpe,IAAIka,EAAG,OAAOE,IAAG5J,EAAE4J,EAAED,GAAE,IAAKC,EAAErY,MAAMywB,WAAWoB,2BAA0B,EAAGxZ,EAAErY,MAAM4O,SAASO,OAAOiJ,GAAGvT,EAAEsT,EAAEE,EAAErY,MAAM8xB,cAAa,IAAKzZ,GAAG2S,EAAE+G,WAAW,SAAS5Z,GAAG,IAAI,GAAIC,GAAE3W,KAAKkuB,SAASvX,GAAG3W,KAAKquB,QAAQ1X,EAAE1Q,IAAIyQ,IAAIC,EAAE3W,KAAKkuB,UAAU3E,EAAE2E,OAAO,WAAW,MAAOtT,GAAE4G,OAAO+H,EAAEiF,cAAc,SAAS9X,GAAG,GAAIC,GAAEiE,EAAEpe,IAAIka,EAAGC,IAAGA,EAAEpY,MAAMsxB,eAAeviB,WAAWic,EAAEoG,2BAA2B,SAASjZ,GAAG,MAAOA,GAAErX,OAAO,IAAGqX,EAAE,GAAGtW,SAAQ,IAAQmpB,EAAEkG,0BAA0B,SAAS/Y,GAAG,MAAOA,GAAErX,OAAO,IAAGqX,EAAEA,EAAErX,OAAO,GAAGe,SAAQ,IAAQmpB,EAAEiG,eAAe,SAAS9Y,EAAEC,GAAG,GAAGD,GAAGC,EAAE,CAAC,GAAIC,GAAED,EAAEpY,MAAMwwB,UAAW,IAAGnY,GAAGA,EAAEvX,OAAO,OAAOqX,EAAEpT,QAAQoT,EAAE6Z,cAAc3Z,EAAE,GAAG,OAAM,GAAI2S,EAAEgG,mBAAmB,SAAS7Y,EAAEC,GAAG,MAAOA,GAAEtX,OAAO,IAAGqX,EAAEpT,QAAQoT,EAAE6Z,cAAc5Z,EAAE,IAAO4S,EAAEmG,kBAAkB,SAAShZ,EAAEC,GAAG,MAAOA,GAAEtX,OAAO,IAAGqX,EAAEpT,QAAQoT,EAAE6Z,cAAc5Z,EAAEA,EAAEtX,OAAO,IAAOkqB,EAAE+F,qBAAqB,SAAS5Y,GAAG,GAAGA,EAAE,CAAC,GAAIC,GAAED,EAAEnY,MAAMwwB,UAAW,IAAGpY,GAAGA,EAAEtX,OAAO,CAAC,GAAIuX,GAAED,EAAE,GAAG6Z,iBAAiBpyB,EAAG,OAAOwY,GAAElC,MAAM3G,UAAUpM,OAAOid,KAAKhI,EAAE,SAASF,GAAG,MAAOa,GAAEb,KAAKE,KAAK2S,KAAKja,SAAS,YAAY,WAAW,GAAIoH,IAAG9Y,SAAS6e,WAAU,EAAG0R,UAAS,EAAGkB,UAAS,GAAIvf,MAAM,aAAa,KAAK,YAAY,mBAAmB,cAAc,cAAc,iBAAiB,SAAS6G,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,GAAG,QAASO,GAAEb,GAAG,MAAOA,GAAErD,SAASuD,EAAE2X,KAAK7X,EAAErD,UAAUjS,EAAE9G,QAAQkX,WAAWkF,EAAE1b,aAAa0b,EAAE1b,cAAc0b,EAAE1b,aAAa,GAAIyc,MAAKrU,EAAE,IAAK,OAAOqU,GAAEgZ,gBAAgB,WAAW,MAAOrtB,IAAGqU,EAAEiU,KAAK,SAAStqB,GAAG,QAASqW,KAAI,MAAO8D,GAAE,GAAIpY,GAAEyT,EAAExJ,QAAQoK,EAAEZ,EAAExJ,QAAQsK,EAAEd,EAAExJ,QAAQuK,EAAEf,EAAExJ,QAAQJ,GAAG4G,OAAOzQ,EAAEwK,QAAQ+iB,OAAOlZ,EAAE7J,QAAQgjB,OAAOjZ,EAAE/J,QAAQijB,SAASjZ,EAAEhK,QAAQiM,MAAM,SAASlD,GAAG,MAAOM,GAAE4C,MAAM5M,EAAE0J,IAAI2X,QAAQ,SAAS3X,GAAG,MAAOM,GAAEqX,QAAQrhB,EAAE0J,IAAK,IAAGtV,EAAE9G,QAAQqX,UAAU+E,EAAE9Y,QAAQwD,GAAGA,EAAEkM,QAAQlM,EAAEkM,YAAYlM,EAAE0tB,SAAS1tB,EAAE0tB,UAAUjY,EAAEqD,KAAK,QAAQyS,GAAG,IAAIvrB,EAAEiS,WAAWjS,EAAEpG,YAAY,KAAM,IAAIwvB,OAAM,sDAAuD,IAAI1P,GAAES,EAAE3E,EAAE3P,KAAKsQ,EAAEnW,GAAG2V,EAAEzJ,QAAQlM,EAAEkM,WAAW,KAAK,OAAQ,OAAOwN,GAAE1X,EAAEwT,EAAE3P,KAAK7D,IAAI3G,KAAKgb,EAAEA,GAAGhb,KAAK,SAASia,GAAG,GAAIE,GAAExV,EAAEzB,OAAOgX,EAAEE,EAAED,EAAEqV,MAAOpV,GAAEga,OAAO7jB,EAAE4M,MAAM/C,EAAEia,SAAS9jB,EAAEqhB,QAAQxX,EAAEvZ,IAAI,WAAW,WAAWuZ,EAAEuZ,2BAA2BvZ,EAAEia,SAAS,+BAAgC,IAAI/Z,GAAEQ,EAAEE,IAAKrW,GAAEhG,aAAaqc,EAAEvU,OAAO2T,EAAEY,EAAEsZ,kBAAkB/jB,EAAE1S,QAAQwX,QAAQ4E,EAAE,GAAG,SAASA,EAAEC,GAAGc,EAAEd,GAAGD,IAAIa,EAAET,EAAE1V,EAAEhG,WAAWqc,GAAE,GAAIrW,EAAEoX,cAAczB,EAAEQ,EAAEyZ,SAAS5vB,EAAE6vB,mBAAmBla,EAAE8Z,OAAOha,EAAEga,OAAO9Z,EAAE+Z,SAASja,EAAEia,SAASx2B,QAAQqX,OAAOoF,EAAEH,IAAIG,EAAEQ,IAAIV,EAAEzV,EAAEoX,cAAczB,GAAGA,EAAEQ,IAAIjd,QAAQkX,WAAWuF,EAAEma,UAAUna,EAAEma,WAAWla,EAAE0U,KAAK1e,GAAGrN,MAAMkX,EAAE1J,SAAShK,EAAE0sB,eAAelY,EAAEuX,eAAexX,EAAEyY,QAAQzZ,EAAE,GAAG+F,UAAUrb,EAAEqb,UAAU0R,SAAS/sB,EAAE+sB,SAASkB,SAASjuB,EAAEiuB,SAASrB,cAAc5sB,EAAE4sB,cAAcC,eAAe7sB,EAAE6sB,eAAexnB,YAAYrF,EAAEqF,YAAYspB,kBAAkB3uB,EAAE2uB,kBAAkBrpB,KAAKtF,EAAEsF,KAAKuoB,YAAY7tB,EAAE6tB,YAAYH,SAAS1tB,EAAE0tB,WAAWtX,EAAElK,SAAQ,IAAK,SAASoJ,GAAGc,EAAE9J,OAAOgJ,GAAGvT,EAAEuK,OAAOgJ,KAAK,QAAW,WAAWtT,IAAI0X,IAAI1X,EAAE,QAAQ4J,GAAGyK,IAAK,OAAOf,KAAIpc,QAAQC,OAAO,0BAA0B8F,QAAQ,aAAa,SAAS,SAASqW,GAAG,OAAO9P,OAAO,SAAS+P,EAAEC,EAAEC,GAAGF,EAAEwa,YAAYta,EAAEua,SAAS1a,EAAEG,EAAEua,UAAUrG,OAAOzwB,QAAQif,KAAK5C,EAAEnV,aAAagZ,cAAclgB,QAAQif,MAAM5C,EAAE0a,aAAa1a,EAAEtZ,KAAK,SAASqZ,EAAEtV,GAAGuV,EAAEnV,YAAYkV,EAAEC,EAAEnc,OAAO4G,EAAEsV,EAAEpU,QAAQ,WAAWqU,EAAEyO,UAAUvO,EAAEya,aAAa3a,EAAE0a,UAAUxe,KAAK+D,EAAEkD,QAAQxb,OAAOuY,EAAEya,aAAa,SAAS5a,GAAGC,EAAE2a,aAAajvB,SAASqU,EAAE,IAAIE,EAAE2a,WAAW5a,EAAE6a,sBAAsB7a,EAAE8a,gBAAgB9a,EAAE2a,aAAalwB,EAAEkwB,aAAa1a,EAAEtY,OAAO,aAAa,SAASoY,EAAEG,IAAIvc,QAAQ8L,UAAUsQ,IAAIA,IAAIG,KAAKD,EAAE2a,WAAW5a,EAAE6a,sBAAsB7a,EAAE8a,iBAAiB9a,EAAE6a,oBAAoB,WAAW,GAAI9a,GAAEC,EAAE2a,aAAa,EAAE,EAAEpY,KAAKwY,KAAK9a,EAAE+a,WAAWhb,EAAE2a,aAAc,OAAOpY,MAAK0Y,IAAIlb,GAAG,EAAE,IAAIC,EAAEyO,OAAO,WAAWxO,EAAEib,KAAKxvB,SAASsU,EAAEnV,YAAY6jB,WAAW,KAAK,GAAGzO,EAAEkb,WAAW,SAASpb,EAAEG,GAAGA,GAAGA,EAAEhZ,gBAAiB,IAAIuD,IAAGwV,EAAEmO,aAAalO,CAAEzV,IAAGwV,EAAEib,OAAOnb,GAAGA,EAAE,GAAGA,GAAGE,EAAE2a,aAAa1a,GAAGA,EAAEvT,QAAQuT,EAAEvT,OAAOyuB,OAAOpb,EAAEnV,YAAYgZ,cAAc9D,GAAGC,EAAEnV,YAAYc,YAAYsU,EAAE0U,QAAQ,SAAS5U,GAAG,MAAOE,GAAEF,EAAE,SAASC,EAAEnc,OAAOkc,EAAE,SAASE,EAAEob,WAAW,WAAW,MAAO,KAAIpb,EAAEib,MAAMjb,EAAEqb,OAAO,WAAW,MAAOrb,GAAEib,OAAOjb,EAAE2a,YAAY5a,EAAE8a,WAAW,WAAW9a,EAAEwa,YAAYva,EAAEkD,QAAQlD,EAAE2a,YAAY3a,EAAEib,KAAKjb,EAAE2a,WAAW3a,EAAEkb,WAAWlb,EAAE2a,YAAY5a,EAAEnV,YAAYc,WAAWsU,EAAEtZ,IAAI,WAAW,WAAW,KAAKqZ,EAAE0a,UAAUhyB,QAAQsX,EAAE0a,UAAUxW,iBAAiBvgB,QAAQC,OAAO,sBAAsB,wBAAwBa,WAAW,sBAAsB,SAAS,SAAS,YAAY,iBAAiB,SAASsb,EAAEC,EAAEC,EAAEC,GAAGH,EAAEwb,MAAM53B,QAAQ8L,UAAUuQ,EAAEub,OAAOxb,EAAEoD,QAAQ9B,MAAMrB,EAAEub,OAAOrb,EAAEqb,MAAMtb,EAAEhQ,OAAO5G,KAAK0W,EAAEC,MAAMuB,SAAS,kBAAkBoZ,aAAa,GAAGa,aAAa,aAAaC,SAAS,SAASF,OAAM,IAAK5yB,UAAU,YAAY,iBAAiB,SAASoX,GAAG,OAAO/W,OAAOgyB,WAAW,IAAIQ,aAAa,IAAIC,SAAS,IAAIrN,WAAW,KAAKxjB,SAAS,WAAW,YAAYnG,WAAW,qBAAqBod,aAAa,QAAQxd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,iCAAiC2H,SAAQ,EAAGlD,KAAK,SAASkX,EAAEC,EAAEC,EAAEzV,GAAG,GAAI0V,GAAE1V,EAAE,GAAG2V,EAAE3V,EAAE,EAAG2V,IAAGD,EAAEzZ,KAAK0Z,EAAEL,QAAQpc,QAAQC,OAAO,2BAA2B,wBAAwBa,WAAW,2BAA2B,SAAS,SAAS,SAAS,YAAY,sBAAsB,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,GAAG,QAAS0V,GAAEJ,EAAEC,EAAEC,GAAG,OAAOxI,OAAOsI,EAAE2b,KAAK1b,EAAEqE,OAAOpE,GAAG,QAASG,GAAEL,EAAEC;AAC1w+B,GAAIC,MAAKC,EAAE,EAAEzV,EAAEuV,EAAEI,EAAEzc,QAAQ8L,UAAUmR,IAAIZ,EAAEY,CAAER,KAAIU,GAAGZ,EAAEqC,KAAK0Y,IAAIlb,EAAEwC,KAAKC,MAAM5B,EAAE,GAAG,GAAGnW,EAAEyV,EAAEU,EAAE,EAAEnW,EAAEuV,IAAIvV,EAAEuV,EAAEE,EAAEzV,EAAEmW,EAAE,KAAKV,GAAGqC,KAAKwY,KAAKhb,EAAEa,GAAG,GAAGA,EAAE,EAAEnW,EAAE8X,KAAK8O,IAAInR,EAAEU,EAAE,EAAEZ,IAAK,KAAI,GAAIK,GAAEH,EAAEzV,GAAG4V,EAAEA,IAAI,CAAC,GAAIU,GAAEZ,EAAEE,EAAEQ,EAAER,GAAGA,IAAIN,EAAGE,GAAE/D,KAAK6E,GAAG,GAAGX,GAAGQ,EAAE,KAAKE,GAAGrU,GAAGD,GAAG,CAAC,GAAG0T,EAAE,EAAE,CAAC,IAAI1T,GAAG0T,EAAE,EAAE,CAAC,GAAIc,GAAEb,EAAED,EAAE,EAAE,OAAM,EAAID,GAAEhU,QAAQ+U,GAAG,GAAGxU,EAAE,CAAC,GAAG,IAAI0T,EAAE,CAAC,GAAI7J,GAAE8J,EAAE,EAAE,KAAI,EAAIF,GAAEhU,QAAQoK,GAAG,GAAI8N,GAAEhE,EAAE,EAAE,KAAI,EAAIF,GAAEhU,QAAQkY,IAAI,GAAGnE,EAAEvV,EAAE,CAAC,IAAI+B,GAAGwT,EAAE,EAAEvV,EAAE,CAAC,GAAIma,GAAEzE,EAAE1V,EAAE,EAAE,OAAM,EAAIwV,GAAE/D,KAAK0I,GAAG,GAAGpY,EAAE,CAAC,GAAG/B,IAAIuV,EAAE,EAAE,CAAC,GAAIwE,GAAErE,EAAEH,EAAE,EAAEA,EAAE,GAAE,EAAIC,GAAE/D,KAAKsI,GAAG,GAAIP,GAAE9D,EAAEH,EAAEA,GAAE,EAAIC,GAAE/D,KAAK+H,KAAK,MAAOhE,GAAE,GAAII,GAAEhX,KAAKuX,EAAEjd,QAAQ8L,UAAUuQ,EAAE2b,SAAS5b,EAAEoD,QAAQ9B,MAAMrB,EAAE2b,SAASlxB,EAAEkxB,QAAQ7a,EAAEnd,QAAQ8L,UAAUuQ,EAAE4b,QAAQ7b,EAAEoD,QAAQ9B,MAAMrB,EAAE4b,QAAQnxB,EAAEmxB,OAAOnvB,EAAE9I,QAAQ8L,UAAUuQ,EAAE6b,eAAe9b,EAAEoD,QAAQ9B,MAAMrB,EAAE6b,eAAepxB,EAAEoxB,cAAcrvB,EAAE7I,QAAQ8L,UAAUuQ,EAAE8b,qBAAqB/b,EAAEoD,QAAQ9B,MAAMrB,EAAE8b,qBAAqBrxB,EAAEqxB,oBAAoBjb,EAAEld,QAAQ8L,UAAUuQ,EAAE+b,WAAW,SAAS9b,GAAG,MAAOF,GAAEoD,QAAQ9B,MAAMrB,EAAE+b,WAAWC,MAAM/b,KAAKtc,QAAQs4B,QAASlc,GAAEmc,cAAcv4B,QAAQ8L,UAAUuQ,EAAEkc,eAAenc,EAAEoD,QAAQ9B,MAAMrB,EAAEkc,eAAezxB,EAAEyxB,cAAcnc,EAAEoc,eAAex4B,QAAQ8L,UAAUuQ,EAAEmc,gBAAgBpc,EAAEoD,QAAQ9B,MAAMrB,EAAEmc,gBAAgB1xB,EAAE0xB,eAAejc,EAAEjQ,OAAO5G,KAAK0W,EAAEC,GAAGA,EAAE2b,SAAStb,EAAEqa,UAAUxe,KAAK6D,EAAEoD,QAAQxb,OAAOsY,EAAED,EAAE2b,SAAS,SAAS5b,GAAGa,EAAElV,SAASqU,EAAE,IAAIM,EAAEoO,WAAY,IAAI1N,GAAE1X,KAAKolB,MAAOplB,MAAKolB,OAAO,WAAW1N,IAAIhB,EAAEmb,KAAK,GAAGnb,EAAEmb,MAAMnb,EAAE6a,aAAa7a,EAAEqc,MAAMhc,EAAEL,EAAEmb,KAAKnb,EAAE6a,iBAAiBrZ,SAAS,uBAAuBoZ,aAAa,GAAGuB,eAAc,EAAGJ,qBAAoB,EAAGK,gBAAe,EAAGE,UAAU,QAAQb,aAAa,WAAWC,SAAS,OAAOa,SAAS,OAAOV,QAAO,EAAGC,eAAc,IAAKlzB,UAAU,iBAAiB,SAAS,sBAAsB,SAASoX,EAAEC,GAAG,OAAOhX,OAAOgyB,WAAW,IAAIqB,UAAU,IAAIb,aAAa,IAAIC,SAAS,IAAIa,SAAS,IAAIlO,WAAW,KAAKxjB,SAAS,gBAAgB,YAAYnG,WAAW,0BAA0Bod,aAAa,aAAaxd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,2CAA2C2H,SAAQ,EAAGlD,KAAK,SAASiX,EAAEE,EAAEC,EAAEzV,GAAG,GAAI0V,GAAE1V,EAAE,GAAG2V,EAAE3V,EAAE,EAAG2V,IAAGD,EAAEzZ,KAAK0Z,EAAEJ,QAAQrc,QAAQC,OAAO,wBAAwB,wBAAwB,4BAA4B+U,SAAS,cAAc,WAAW,QAASoH,GAAEA,GAAG,GAAIC,GAAE,SAASC,EAAE,GAAI,OAAOF,GAAE/T,QAAQgU,EAAE,SAASD,EAAEC,GAAG,OAAOA,EAAEC,EAAE,IAAIF,EAAE1U,gBAAgB,GAAI2U,IAAGqM,UAAU,MAAMkQ,qBAAqB,GAAGzW,WAAU,EAAG0W,WAAW,EAAEC,gBAAgB,EAAEC,eAAc,GAAIzc,GAAG0c,WAAW,aAAaC,MAAM,QAAQC,aAAa,eAAepzB,MAAM,OAAOqzB,KAAK,IAAI5c,IAAK7W,MAAKpC,QAAQ,SAAS8Y,GAAGpc,QAAQqX,OAAOkF,EAAEH,IAAI1W,KAAK0zB,YAAY,SAAShd,GAAGpc,QAAQqX,OAAOiF,EAAEF,IAAI1W,KAAK8P,MAAM,UAAU,WAAW,WAAW,YAAY,eAAe,eAAe,aAAa,SAAS,eAAe,SAAS1O,EAAE0V,EAAEC,EAAEC,EAAEO,EAAEE,EAAErU,EAAED,EAAEqU,GAAG,QAASE,GAAEhB,GAAG,GAAG,KAAKA,EAAErT,MAAM,CAAC,GAAIsT,GAAEgB,EAAE6J,KAAM7K,KAAIA,EAAEpY,MAAMqb,QAAQjC,EAAE4V,YAAY5W,EAAE,OAAO,GAAIgB,GAAEH,EAAE8V,WAAY,OAAOtW,GAAErW,GAAG,WAAW+W,GAAGtU,EAAE9F,IAAI,WAAW,WAAW0Z,EAAElW,IAAI,WAAW4W,KAAK,SAAStW,EAAEgC,EAAEoU,EAAEE,GAAG,QAAS1K,GAAE0J,GAAG,GAAIC,IAAGD,GAAGgB,EAAEvX,SAASqX,GAAGpY,MAAM,KAAKyX,EAAEF,EAAE9K,IAAI,SAAS6K,GAAG,MAAOE,GAAEF,IAAIA,GAAI,QAAOtH,KAAKuH,EAAEgd,KAAK9c,GAAGa,EAAEpd,QAAQqX,UAAUgF,EAAEE,EAAEa,EAAG,IAAIoD,GAAEpE,EAAEtV,GAAGma,EAAE9D,EAAEnE,cAAc6H,EAAE1D,EAAElE,YAAYqH,EAAE,QAAQE,EAAE,iBAAiBS,EAAE,QAAQJ,EAAE,MAAMzD,EAAE2b,cAAc,8BAA8B,YAAY9X,EAAE,UAAUJ,EAAE,MAAM,cAAcI,EAAE,YAAYJ,EAAE,kBAAkBI,EAAE,aAAaJ,EAAE,sGAAuG,QAAO3E,QAAQ,SAASE,EAAEC,GAAG,GAAIC,GAAEE,EAAE8D,EAAG,OAAO,UAASlE,EAAEC,EAAEE,EAAEC,GAAG,QAASW,KAAImc,EAAEvb,OAAOyC,IAAItD,IAAI,QAASA,OAAM2S,GAAGzT,EAAEsB,MAAMnB,EAAEzT,EAAE,cAAc6X,IAAIrF,IAAIge,EAAET,WAAWjK,IAAIA,EAAEnS,EAAEwE,EAAEqY,EAAET,YAAW,IAAK5X,KAAK,QAAST,KAAIK,IAAIyY,EAAER,gBAAgBnK,IAAIA,EAAElS,EAAE6D,EAAEgZ,EAAER,iBAAgB,IAAKxY,IAAI,QAASW,KAAI,MAAOJ,KAAIF,IAAI2Y,EAAEzD,SAAS5G,QAASqK,GAAEC,WAAW,WAAWD,EAAEvb,QAAO,EAAGqR,GAAE,GAAIoK,OAAOx5B,QAAQif,KAAK,QAAS4B,KAAI+N,IAAInS,EAAE5N,OAAO+f,GAAGA,EAAE,MAAMG,IAAItS,EAAE5N,OAAOkgB,GAAGA,EAAE,MAAM,QAASzO,KAAIgZ,GAAGA,EAAEC,WAAW,WAAWD,IAAIA,EAAEvb,QAAO,EAAGqR,GAAE,GAAIkK,EAAEnX,UAAUuN,IAAIA,EAAEjT,EAAE3Y,EAAE,KAAI,IAAKA,OAAO,QAAS6c,KAAIgO,IAAIlS,EAAE5N,OAAO8f,GAAGA,EAAE,MAAMe,IAAIjT,EAAE5N,OAAO6gB,GAAGA,EAAE,MAAM,QAAST,KAAIO,IAAIC,EAAE6J,EAAE3H,OAAOnC,EAAElT,EAAEmT,EAAE,SAASrT,GAAGuT,EAAEjT,EAAEkD,KAAK,QAAQR,OAAOhD,GAAGC,EAAEyU,MAAM1U,KAAK+S,KAAK,QAASrrB,KAAI+c,IAAIF,IAAI0O,IAAIG,IAAIA,EAAEpZ,SAASoZ,EAAE,MAAMC,IAAIA,EAAEkD,WAAWlD,EAAE,MAAM,QAASnU,KAAIge,EAAEz4B,MAAM0b,EAAEzT,EAAE,SAAS2wB,EAAEH,EAAEzD,QAAQ4D,EAAErd,GAAGkd,EAAEzD,QAAQtZ,EAAEzV,GAAGwyB,EAAEI,WAAWnd,EAAEzT,EAAE,SAASwwB,EAAE5Q,UAAU1oB,QAAQ8L,UAAUyQ,EAAEzT,EAAE,cAAcyT,EAAEzT,EAAE,aAAasU,EAAEsL,SAAU,IAAIrM,GAAEY,EAAEuL,eAAe8Q,EAAE5Q,UAAWgG,GAAErS,EAAE,GAAGA,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,EAAG,IAAIC,GAAEvU,SAASwU,EAAEzT,EAAE,cAAc,IAAI0T,EAAEzU,SAASwU,EAAEzT,EAAE,mBAAmB,GAAIwwB,GAAET,WAAWnwB,MAAM4T,GAAGc,EAAEyb,WAAWvc,EAAEgd,EAAER,gBAAgBpwB,MAAM8T,GAAGY,EAAE0b,gBAAgBtc,EAAE,QAAS4S,GAAE/S,GAAGsd,GAAG35B,QAAQkX,WAAWyiB,EAAElJ,SAASkJ,EAAElJ,OAAOrU,EAAEC,GAAG,QAAS8S,KAAIyK,EAAE70B,OAAO,EAAE00B,GAAGG,EAAErhB,KAAK6D,EAAEpY,OAAOy1B,EAAE,SAASrd,GAAGkd,EAAEzD,QAAQzZ,GAAGA,GAAGkd,EAAEvb,QAAQuC,OAAOsZ,EAAErhB,KAAKkX,EAAEzrB,OAAO,WAAW61B,IAAIA,GAAE,EAAGpK,EAAEqK,aAAa,WAAWD,GAAE,EAAGP,GAAGA,EAAEvb,QAAQyb,WAAWI,EAAErhB,KAAKgE,EAAE0T,SAASnpB,EAAE,SAASsV,GAAGkd,EAAEzD,QAAQzZ,GAAGA,GAAGkd,EAAEvb,OAAOuC,IAAIkZ,OAAOI,EAAErhB,KAAKgE,EAAE0T,SAASnnB,EAAE,QAAQ,SAASsT,GAAGkd,EAAEz4B,MAAMub,EAAEkd,EAAEvb,QAAQyb,OAAOI,EAAErhB,KAAKgE,EAAE0T,SAASnnB,EAAE,YAAY,SAASsT,GAAGkd,EAAE5Q,UAAUtM,EAAEA,EAAEgB,EAAEsL,SAAU,IAAIrM,GAAEY,EAAEuL,eAAe8Q,EAAE5Q,UAAWgG,GAAErS,EAAE,GAAGA,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,GAAGid,EAAEvb,QAAQyb,OAAO,QAASnK,KAAIuK,EAAE70B,SAAS/E,QAAQwX,QAAQoiB,EAAE,SAASxd,GAAGA,MAAMwd,EAAE70B,OAAO,GAAG,QAASuqB,GAAElT,GAAGkd,GAAGA,EAAEvb,QAAQyR,IAAInT,EAAE,GAAG2S,SAAS5S,EAAEpT,SAASwmB,EAAE,GAAGR,SAAS5S,EAAEpT,SAASwX,KAAK,QAAS+O,KAAI,GAAInT,GAAEG,EAAEzT,EAAE,UAAWixB,KAAInK,EAAEld,EAAE0J,GAAG,SAASwT,EAAE9a,MAAM8a,EAAE9a,KAAK0C,QAAQ,SAAS4E,EAAEE,GAAG,iBAAiBF,GAAGC,EAAEhW,GAAG,QAAQ8W,GAAGT,EAAErW,GAAG,QAAQipB,IAAIlT,IAAIwT,EAAEyJ,KAAK/c,GAAGD,EAAEhW,GAAG+V,EAAEe,GAAGf,IAAIC,EAAEhW,GAAG+V,EAAEc,GAAGb,EAAEhW,GAAGupB,EAAEyJ,KAAK/c,GAAGkE,IAAInE,EAAEhW,GAAG,WAAW,SAAS+V,GAAG,KAAKA,EAAErT,OAAOyX,QAAQ,GAAIgP,GAAEC,EAAEC,EAAEd,EAAED,EAAEI,EAAEL,EAAEiB,IAAE3vB,QAAQ8L,UAAUsR,EAAE0Q,eAAc1Q,EAAE0Q,aAAgB8B,EAAEld,EAAE,QAAQmd,EAAE7vB,QAAQ8L,UAAUyQ,EAAEzT,EAAE,WAAWwwB,EAAEld,EAAEuV,MAAK,GAAIkI,GAAE,EAAGF,IAAE35B,QAAQ8L,UAAUyQ,EAAEzT,EAAE,YAAWD,EAAE0T,EAAEzT,EAAE,WAAc2wB,IAAErc,EAAE2b,eAAclwB,EAAE0T,EAAEzV,IAAO8yB,KAAKJ,EAAE,WAAWhK,GAAGA,EAAErQ,SAAS4P,IAAIA,EAAEtS,EAAE,WAAW,GAAIL,GAAEa,EAAEwL,iBAAiBpM,EAAEmT,EAAE8J,EAAE5Q,UAAUiH,EAAGH,GAAExZ,KAAKkR,IAAI9K,EAAE8K,IAAI,KAAKE,KAAKhL,EAAEgL,KAAK,OAAOoI,EAAE7S,SAASP,EAAEsM,UAAU5jB,MAAM,KAAK,MAAM0qB,EAAE5oB,YAAY8nB,EAAE5pB,MAAM,KAAK,IAAI0qB,EAAE7oB,SAASyV,EAAEsM,UAAU5jB,MAAM,KAAK,KAAK0qB,EAAE7S,SAASS,EAAEwb,qBAAqBxc,EAAEsM,aAAa8G,EAAE5oB,YAAYwW,EAAEwb,qBAAqBlK,GAAGc,EAAE7oB,SAASyW,EAAEwb,qBAAqBxc,EAAEsM,YAAY8G,EAAE7S,SAAS,yBAAyBM,EAAE4L,cAAc2G,EAAEpT,EAAEsM,WAAW8G,EAAE5oB,YAAY,yBAAyB8nB,IAAItS,EAAEsM,WAAWzL,EAAE4L,cAAc2G,EAAEpT,EAAEsM,WAAWgG,EAAEtS,EAAEsM,UAAUqG,EAAE,MAAM,GAAE,KAAOuK,GAAEU,UAAU5d,EAAEkd,EAAEvb,QAAO,EAAGV,EAAE7G,IAAI8iB,GAAGha,MAAMgB,IAAIgZ,EAAEW,WAAW,WAAW,MAAOX,GAAEzD,SAAStZ,EAAE0T,SAAS,WAAW,SAAS7T,GAAGA,GAAGyE,IAAIzE,GAAGkd,EAAEvb,QAAQuC,MAAMqZ,GAAGvd,EAAEpY,OAAO21B,EAAE,SAASvd,GAAGkd,IAAIld,IAAIkd,EAAEvb,QAAQZ,KAAM,IAAI4c,GAAE,WAAWnK,EAAE9a,KAAK0C,QAAQ,SAAS4E,GAAG,iBAAiBA,EAAEC,EAAE7V,IAAI,QAAQ2W,IAAId,EAAE7V,IAAI4V,EAAEc,GAAGb,EAAE7V,IAAI4V,EAAEe,MAAMyS,EAAEyJ,KAAK7hB,QAAQ,SAAS4E,GAAG,iBAAiBA,EAAEM,EAAElW,IAAI,QAAQ8oB,GAAGjT,EAAE7V,IAAI4V,EAAEoE,KAAM+O,IAAI,IAAI2K,GAAE9d,EAAEsB,MAAMnB,EAAEzT,EAAE,aAAcwwB,GAAEnX,UAAUniB,QAAQ8L,UAAUouB,KAAKA,EAAE9c,EAAE+E,SAAU,IAAIgY,GAAEC,EAAEtxB,EAAE,cAAeqxB,GAAEC,IAAK7d,IAAG,SAASA,EAAE6d,IAAMhe,EAAEsB,MAAMnB,EAAE6d,IAAIzK,EAAE3vB,QAAQ8L,UAAUquB,GAAGA,EAAExK,EAAEvT,EAAEpZ,IAAI,WAAW,WAAW+2B,IAAIj2B,IAAIuZ,EAAEjH,OAAOkjB,GAAGA,EAAE,eAAet0B,UAAU,gCAAgC,WAAW,OAAO,WAAW,mBAAmB,SAASoX,EAAEC,EAAEC,EAAEC,GAAG,OAAOpX,KAAK,SAAS2B,EAAE0V,EAAEC,GAAG,GAAIC,GAAEO,EAAEE,EAAErU,EAAEhC,EAAE4W,MAAMjB,EAAE4d,gCAAgCxxB,EAAE,EAAEqU,EAAE,WAAWD,IAAIA,EAAE7G,SAAS6G,EAAE,MAAMP,IAAIA,EAAEiW,WAAWjW,EAAE,MAAMS,IAAIf,EAAEyY,MAAM1X,GAAGhb,KAAK,WAAW8a,EAAE,OAAOA,EAAEE,EAAEA,EAAE,MAAOrW,GAAE9C,OAAOqY,EAAEie,mBAAmB7d,EAAE8d,8BAA8B,SAASle,GAAG,GAAII,KAAI5T,CAAEwT,IAAGE,EAAEF,GAAE,GAAIla,KAAK,SAASoa,GAAG,GAAGE,IAAI5T,EAAE,CAAC,GAAI/B,GAAEgC,EAAE6oB,OAAO1U,EAAEV,EAAEa,EAAEd,EAAEW,GAAGnW,EAAE,SAASuV,GAAGa,IAAId,EAAEoZ,MAAMnZ,EAAEG,IAAKE,GAAE5V,EAAEqW,EAAEC,EAAEV,EAAEiP,MAAM,wBAAwBtP,KAAK,WAAWI,IAAI5T,IAAIqU,IAAIpW,EAAE6kB,MAAM,uBAAuBtP,MAAMvV,EAAE6kB,MAAM,2BAA2BtP,IAAIa,MAAMpW,EAAE9D,IAAI,WAAWka,QAAQlY,UAAU,qBAAqB,eAAe,SAASoX,GAAG,OAAOlX,SAAS,IAAIC,KAAK,SAASkX,EAAEC,EAAEC,GAAG,GAAGF,EAAEqM,UAAU,CAAC,GAAI5hB,GAAEsV,EAAEoM,eAAenM,EAAEqM,UAAWpM,GAAE3V,SAASG,EAAE,IAAIuV,EAAEqd,YAAYpd,EAAE3V,SAAS0V,EAAEqd,YAAYrd,EAAE8F,aAAa7F,EAAE3V,SAAS4V,EAAEie,4BAA4Bx1B,UAAU,kBAAkB,WAAW,OAAOqD,SAAQ,EAAGhD,OAAOwwB,QAAQ,IAAInN,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,KAAKrd,YAAY,6CAA6CsE,UAAU,cAAc,cAAc,SAASoX,GAAG,MAAOA,GAAE,aAAa,UAAU,iBAAiBpX,UAAU,0BAA0B,WAAW,OAAOqD,SAAQ,EAAGhD,OAAO40B,WAAW,IAAIvR,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,IAAI0c,YAAY,KAAK/5B,YAAY,sDAAsDsE,UAAU,sBAAsB,cAAc,SAASoX,GAAG,MAAOA,GAAE,qBAAqB,UAAU,cAAc2c,eAAc,OAAQ/zB,UAAU,sBAAsB,WAAW,OAAOqD,SAAQ,EAAGhD,OAAO40B,WAAW,IAAIvR,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,KAAKrd,YAAY,kDAAkDsE,UAAU,kBAAkB,cAAc,SAASoX,GAAG,MAAOA,GAAE,iBAAiB,UAAU,cAAc2c,eAAc,OAAQ/4B,QAAQC,OAAO,wBAAwB,yBAAyB+E,UAAU,0BAA0B,WAAW,OAAOqD,SAAQ,EAAGhD,OAAOxE,MAAM,IAAIo5B,WAAW,IAAIvR,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,IAAI0c,YAAY,KAAK/5B,YAAY,gDAAgDsE,UAAU,sBAAsB,cAAc,SAASoX,GAAG,MAAOA,GAAE,qBAAqB,UAAU,SAAS2c,eAAc,OAAQ/zB,UAAU,sBAAsB,WAAW,OAAOqD,SAAQ,EAAGhD,OAAO40B,WAAW,IAAIp5B,MAAM,IAAI6nB,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,KAAKrd,YAAY,4CAA4CsE,UAAU,kBAAkB,cAAc,SAASoX,GAAG,MAAOA,GAAE,iBAAiB,UAAU,SAAS2c,eAAc,OAAQ/zB,UAAU,kBAAkB,WAAW,OAAOqD,SAAQ,EAAGhD,OAAOxE,MAAM,IAAIg1B,QAAQ,IAAInN,UAAU,IAAIgR,WAAW,IAAIvX,UAAU,IAAIpE,OAAO,KAAKrd,YAAY,uCAAuCsE,UAAU,cAAc,cAAc,SAASoX,GAAG,MAAOA,GAAE,aAAa,UAAU,YAAYpc,QAAQC,OAAO,+BAA+B2d,SAAS,qBAAqBgY,SAAQ,EAAG0B,IAAI,MAAMx2B,WAAW,yBAAyB,SAAS,SAAS,oBAAoB,SAASsb,EAAEC,EAAEC,GAAG,QAASC,KAAI,MAAOvc,SAAQ8L,UAAUsQ,EAAEse,UAAUte,EAAEse,SAASpe,EAAEgb,IAAI,GAAIxwB,GAAEpB,KAAK8W,EAAExc,QAAQ8L,UAAUuQ,EAAEuZ,SAASxZ,EAAEoD,QAAQ9B,MAAMrB,EAAEuZ,SAAStZ,EAAEsZ,OAAQlwB,MAAKi1B,QAAQve,EAAEkb,IAAI/a,IAAI7W,KAAKk1B,OAAO,SAASxe,EAAEC,EAAEC,GAAGE,GAAGH,EAAErG,KAAK6kB,WAAW,SAASn1B,KAAKi1B,KAAKpiB,KAAK6D,GAAGA,EAAEkb,IAAI/a,IAAIH,EAAEvb,MAAMyb,GAAGtc,QAAQ8L,UAAUwQ,EAAEzb,OAAOyb,EAAEzb,MAAM,cAAcub,EAAEpY,OAAO,QAAQ,SAASqY,GAAGD,EAAE0e,0BAA0B1e,EAAE0e,sBAAsB,WAAW,GAAIze,GAAEvV,EAAE6zB,KAAK5f,OAAO,SAASqB,EAAEC,GAAG,MAAOA,GAAE0e,UAAU,IAAI1e,EAAEpY,MAAMoY,EAAEib,KAAKnvB,QAAQ,GAAGiU,EAAEC,EAAE0e,SAAS,EAAG1e,GAAE,MAAMD,EAAE2e,SAAS1e,EAAE,MAAMD,EAAEpZ,IAAI,WAAW,WAAWqZ,EAAE,KAAKvV,EAAEk0B,UAAU5e,MAAM1W,KAAKs1B,UAAU,SAAS5e,GAAG1W,KAAKi1B,KAAKliB,OAAO/S,KAAKi1B,KAAK/iB,QAAQwE,GAAG,GAAG1W,KAAKi1B,KAAKnjB,QAAQ,SAAS4E,GAAGA,EAAE0e,2BAA2B1e,EAAEpY,OAAO,WAAW,SAASoY,GAAGtV,EAAE6zB,KAAKnjB,QAAQ,SAAS4E,GAAGA,EAAEkb,IAAI/a,IAAIH,EAAE0e,+BAA+B91B,UAAU,cAAc,WAAW,OAAOqD,SAAQ,EAAG8V,YAAW,EAAGrd,WAAW,wBAAwBmG,QAAQ,cAAc5B,OAAOq1B,SAAS,SAASh6B,YAAY,4CAA4CsE,UAAU,SAAS,WAAW,OAAOqD,SAAQ,EAAG8V,YAAW,EAAGlX,QAAQ,eAAe5B,OAAOpB,MAAM,IAAIgQ,KAAK,KAAKvT,YAAY,oCAAoCyE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAEqe,OAAOxe,EAAEC,EAAEC,OAAOtX,UAAU,iBAAiB,WAAW,OAAOqD,SAAQ,EAAG8V,YAAW,EAAGrd,WAAW,wBAAwBuE,OAAOpB,MAAM,IAAIy2B,SAAS,QAAQzmB,KAAK,KAAKvT,YAAY,4CAA4CyE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAEqe,OAAOxe,EAAEpc,QAAQ+D,QAAQsY,EAAEzC,WAAW,KAAK/Y,MAAMyb,EAAEzb,YAAYb,QAAQC,OAAO,0BAA0B2d,SAAS,mBAAmB0Z,IAAI,EAAE2D,QAAQ,KAAKC,SAAS,KAAKC,aAAY,EAAGC,QAAQ,MAAM,MAAM,QAAQ,OAAO,UAAUt6B,WAAW,uBAAuB,SAAS,SAAS,kBAAkB,SAASsb,EAAEC,EAAEC,GAAG,GAAIC,IAAG2D,cAAclgB,QAAQif,MAAMnY,EAAEpB,IAAKA,MAAK3C,KAAK,SAAS+D,GAAGyV,EAAEzV,EAAEyV,EAAEvU,QAAQtC,KAAKolB,OAAOvO,EAAEpV,YAAYoR,KAAK,SAAS6D,GAAG,MAAOpc,SAAQmhB,SAAS/E,IAAIA,GAAG,IAAIA,IAAIA,EAAEwC,KAAK+I,MAAMvL,IAAIA,IAAI1W,KAAKu1B,QAAQj7B,QAAQ8L,UAAUuQ,EAAE4e,SAAS7e,EAAEoD,QAAQ9B,MAAMrB,EAAE4e,SAAS3e,EAAE2e,QAAQv1B,KAAKw1B,SAASl7B,QAAQ8L,UAAUuQ,EAAE6e,UAAU9e,EAAEoD,QAAQ9B,MAAMrB,EAAE6e,UAAU5e,EAAE4e,SAASx1B,KAAKy1B,YAAYn7B,QAAQ8L,UAAUuQ,EAAE8e,aAAa/e,EAAEoD,QAAQ9B,MAAMrB,EAAE8e,aAAa7e,EAAE6e,WAAY,IAAI3e,GAAExc,QAAQ8L,UAAUuQ,EAAE+e,QAAQhf,EAAEoD,QAAQ9B,MAAMrB,EAAE+e,QAAQ9e,EAAE8e,MAAO11B,MAAK01B,OAAOp7B,QAAQuX,QAAQiF,IAAIA,EAAEzX,OAAO,EAAEyX,EAAEF,EAAE8e,MAAO,IAAI3e,GAAEzc,QAAQ8L,UAAUuQ,EAAEgf,cAAcjf,EAAEoD,QAAQ9B,MAAMrB,EAAEgf,cAAc,GAAIjhB,OAAMpa,QAAQ8L,UAAUuQ,EAAEib,KAAKlb,EAAEoD,QAAQ9B,MAAMrB,EAAEib,KAAKhb,EAAEgb,IAAKlb,GAAEkf,MAAM51B,KAAK61B,qBAAqB9e,IAAI/W,KAAK61B,qBAAqB,SAASnf,GAAG,IAAI,GAAIC,GAAE,EAAEC,EAAEF,EAAErX,OAAOuX,EAAED,EAAEA,IAAID,EAAEC,GAAGrc,QAAQqX,QAAQmB,MAAM6D,IAAI4e,QAAQv1B,KAAKu1B,QAAQC,SAASx1B,KAAKw1B,SAASr6B,MAAM6E,KAAK81B,SAASnf,IAAID,EAAEC,GAAI,OAAOD,IAAG1W,KAAK81B,SAAS,SAASpf,GAAG,MAAOA,IAAG1W,KAAK01B,OAAOr2B,OAAOqX,EAAE,EAAE1W,KAAK01B,OAAOhf,IAAIA,EAAEqf,KAAK,SAASpf,GAAG,IAAID,EAAEsf,UAAUrf,GAAG,GAAGA,GAAGD,EAAEkf,MAAMv2B,OAAO,CAAC,GAAIuX,GAAExV,EAAEq0B,aAAa5e,EAAEwO,aAAa1O,EAAE,EAAEA,CAAEE,GAAE2D,cAAc5D,GAAGC,EAAEvU,YAAYoU,EAAEoZ,MAAM,SAASnZ,GAAGD,EAAEsf,WAAWtf,EAAEnY,MAAMoY,GAAGD,EAAEuf,SAAS13B,MAAMoY,KAAKD,EAAEwf,MAAM,WAAWxf,EAAEnY,MAAMsY,EAAEwO,WAAW3O,EAAEyf,WAAWzf,EAAE0f,UAAU,SAASzf,GAAG,gBAAgBkH,KAAKlH,EAAEtT,SAASsT,EAAE9Y,iBAAiB8Y,EAAEyQ,kBAAkB1Q,EAAEqf,KAAKrf,EAAEnY,OAAO,KAAKoY,EAAEtT,OAAO,KAAKsT,EAAEtT,MAAM,GAAE,MAAOrD,KAAKolB,OAAO,WAAW1O,EAAEnY,MAAMsY,EAAEwO,WAAW3O,EAAEvb,MAAMiG,EAAE00B,SAASpf,EAAEnY,MAAM,OAAOe,UAAU,YAAY,WAAW,OAAOiC,SAAS,YAAY,WAAW5B,OAAOq2B,SAAS,aAAaC,QAAQ,IAAIE,QAAQ,KAAK/6B,WAAW,sBAAsBJ,YAAY,kCAAkC2H,SAAQ,EAAGlD,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGzV,GAAE/D,KAAKyZ,OAAOxc,QAAQC,OAAO,wBAAwBa,WAAW,uBAAuB,SAAS,SAASsb,GAAG,QAASC,GAAED,GAAG,IAAI,GAAIC,GAAE,EAAEA,EAAEE,EAAEwf,KAAKh3B,OAAOsX,IAAI,GAAGE,EAAEwf,KAAK1f,GAAG7D,QAAQ4D,EAAE,MAAOC,GAAE,GAAIC,GAAEC,EAAE7W,IAAK6W,GAAEwf,QAAQxf,EAAE5W,OAAO,SAASyW,EAAEI,GAAG,IAAI1V,EAAE,CAAC,GAAI2V,GAAEJ,EAAEC,GAAGI,EAAEH,EAAEwf,KAAKtf,EAAGC,KAAIA,EAAEsf,IAAIC,YAAYC,OAAO1f,IAAIE,EAAEsf,IAAItb,QAAO,EAAI,IAAIzD,GAAEV,EAAEwf,KAAK3f,EAAGa,IAAGA,EAAE+e,IAAIG,UAAUD,OAAO1f,IAAIS,EAAE+e,IAAItb,QAAO,EAAGnE,EAAEmE,OAAOzD,EAAEzE,MAAM8D,EAAEW,EAAEzE,QAAQyE,GAAGjd,QAAQmhB,SAAS7E,KAAKC,EAAEmE,OAAO,KAAKpE,EAAE,QAAQC,EAAE6f,OAAO,SAAShgB,GAAG,GAAGG,EAAEwf,KAAKxjB,MAAMyjB,IAAI5f,EAAE5D,MAAM4D,EAAE5D,QAAQ+D,EAAEwf,KAAKta,KAAK,SAASrF,EAAEC,GAAG,MAAOD,GAAE5D,MAAM6D,EAAE7D,MAAM,EAAE4D,EAAE5D,MAAM6D,EAAE7D,OAAM,EAAG,IAAI4D,EAAE5D,QAAQ+D,EAAEmE,SAAS1gB,QAAQmhB,SAAS5E,EAAEmE,SAAS,IAAInE,EAAEwf,KAAKh3B,OAAO,CAAC,GAAIuX,GAAED,EAAED,EAAE5D,MAAO+D,GAAE5W,OAAO2W,KAAKC,EAAE8f,UAAU,SAASjgB,GAAG,GAAIE,GAAED,EAAED,EAAE5D,MAAO,IAAG4D,EAAE5D,QAAQ+D,EAAEmE,OAAO,CAAC,GAAI5Z,GAAEwV,IAAIC,EAAEwf,KAAKh3B,OAAO,EAAEuX,EAAE,EAAEA,EAAE,EAAEC,EAAEwf,KAAKh3B,MAAOwX,GAAE5W,OAAOmB,GAAGyV,EAAEwf,KAAKtjB,OAAO6D,EAAE,IAAIF,EAAEpY,OAAO,gBAAgB,SAASoY,GAAGpc,QAAQmhB,SAAS/E,IAAIA,IAAIE,GAAGC,EAAE5W,OAAO0W,EAAED,KAAM,IAAItV,EAAEsV,GAAEpZ,IAAI,WAAW,WAAW8D,GAAE,OAAQ9B,UAAU,YAAY,WAAW,OAAOmZ,YAAW,EAAG9V,SAAQ,EAAGhD,SAASsxB,kBAAkBjW,OAAO,KAAKzM,KAAK,KAAKnT,WAAW,sBAAsBod,aAAa,SAASxd,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,iCAAiCyE,KAAK,SAASiX,EAAEC,EAAEC,GAAGF,EAAE2J,WAAS/lB,QAAQ8L,UAAUwQ,EAAEyJ,WAAU3J,EAAEoD,QAAQ9B,MAAMpB,EAAEyJ,UAAa3J,EAAEkgB,YAAUt8B,QAAQ8L,UAAUwQ,EAAEggB,YAAWlgB,EAAEoD,QAAQ9B,MAAMpB,EAAEggB,WAAct8B,QAAQ+R,YAAYuK,EAAEoE,UAAUtE,EAAEsE,OAAO,OAAO1b,UAAU,UAAU,SAAS,SAASoX,GAAG,OAAOnV,QAAQ,aAAaoB,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAE3b,aAAa,8BAA8Byd,YAAW,EAAG9Y,OAAO+Y,QAAQ,IAAI5F,MAAM,KAAK+jB,QAAQ,KAAKJ,SAAS,UAAUF,WAAW,aAAan7B,WAAW,aAAaod,aAAa,MAAM/Y,KAAK,SAASkX,EAAEC,EAAEC,EAAEzV,EAAE0V,GAAGH,EAAE2D,UAAS,EAAGzD,EAAEigB,SAASngB,EAAEmD,QAAQxb,OAAOoY,EAAEG,EAAEigB,SAAS,SAASpgB,GAAGC,EAAE2D,WAAW5D,IAAIpc,QAAQ+R,YAAYwK,EAAE/D,SAAS1R,EAAEi1B,MAAMj1B,EAAEi1B,KAAKh3B,OAAOsX,EAAE7D,MAAMoG,KAAK0Y,IAAIjd,MAAM,KAAKvT,EAAEi1B,KAAKxqB,IAAI,SAAS6K,GAAG,MAAOA,GAAE5D,SAAS,EAAE6D,EAAE7D,MAAM,GAAGxY,QAAQ+R,YAAYwK,EAAEggB,WAAWlgB,EAAEkgB,QAAQ,IAAIlgB,EAAE1W,OAAO,SAASyW,GAAG,IAAIC,EAAE2D,SAAS,CAAC,IAAI,GAAI1D,GAAEC,EAAE,EAAEA,EAAEzV,EAAEi1B,KAAKh3B,OAAOwX,IAAI,GAAGzV,EAAEi1B,KAAKxf,GAAGyf,MAAM3f,EAAE,CAACC,EAAEC,CAAE,OAAMzV,EAAEnB,OAAO2W,EAAEF,KAAKtV,EAAEs1B,OAAO/f,GAAGA,EAAErZ,IAAI,WAAW,WAAW8D,EAAEu1B,UAAUhgB,KAAKA,EAAEogB,cAAcjgB,OAAOxX,UAAU,0BAA0B,WAAW,OAAOE,SAAS,IAAI+B,QAAQ,UAAU9B,KAAK,SAASiX,EAAEC,GAAGD,EAAEpY,OAAO,iBAAiB,SAASoY,GAAGA,IAAIC,EAAE8C,KAAK,IAAI9C,EAAE+C,OAAOhD,UAAUpX,UAAU,0BAA0B,WAAW,QAASoX,GAAEA,GAAG,MAAOA,GAAEsgB,UAAUtgB,EAAEugB,aAAa,oBAAoBvgB,EAAEugB,aAAa,yBAAyBvgB,EAAEugB,aAAa,sBAAsB,oBAAoBvgB,EAAEsgB,QAAQh1B,eAAe,yBAAyB0U,EAAEsgB,QAAQh1B,eAAe,sBAAsB0U,EAAEsgB,QAAQh1B,eAAe,oBAAoB0U,EAAEsgB,QAAQh1B,eAAe,OAAOxC,SAAS,IAAI+B,QAAQ,aAAa9B,KAAK,SAASkX,EAAEC,EAAEC,GAAG,GAAIzV,GAAEuV,EAAEqB,MAAMnB,EAAEqgB,yBAAyBZ,GAAIl1B,GAAE21B,cAAc31B,EAAE0Y,QAAQ,SAASnD,GAAGrc,QAAQwX,QAAQ6E,EAAE,SAASA,GAAGD,EAAEC,GAAGvV,EAAE+1B,eAAexgB,EAAEC,EAAE8C,OAAO/C,WAAWrc,QAAQC,OAAO,8BAA8B2d,SAAS,uBAAuBkf,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,cAAa,EAAGC,aAAY,EAAGC,UAAU,KAAKC,eAAc,EAAGC,YAAW,EAAGC,WAAU,EAAGC,cAAa,EAAG78B,YAAY,4CAA4CI,WAAW,2BAA2B,SAAS,WAAW,SAAS,SAAS,OAAO,UAAU,sBAAsB,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,GAAG,QAASC,KAAI,GAAIL,IAAGD,EAAE0H,MAAMxH,EAAEF,EAAE6gB,aAAa5gB,EAAE,GAAG,GAAGA,EAAEA,GAAG,GAAG,GAAGA,CAAE,OAAOC,IAAGF,EAAE6gB,eAAe,KAAK5gB,IAAIA,EAAE,GAAGD,EAAEohB,WAAW7c,EAAE,KAAKtE,GAAG,KAAKA,GAAG,OAAO,QAASY,KAAI,GAAIZ,IAAGD,EAAE2H,OAAQ,OAAO1H,IAAG,GAAG,GAAGA,EAAEA,EAAE,OAAO,QAASc,KAAI,GAAId,IAAGD,EAAE6H,OAAQ,OAAO5H,IAAG,GAAG,GAAGA,EAAEA,EAAE,OAAO,QAASvT,GAAEsT,EAAEC,GAAG,MAAO,QAAOD,EAAE,GAAGpc,QAAQ8L,UAAUsQ,IAAIA,EAAEhU,WAAWrD,OAAO,IAAIsX,EAAE,IAAID,EAAEA,EAAEhU,WAAW,QAASS,GAAEuT,GAAGc,IAAIoD,EAAEJ,cAAc,GAAIlZ,MAAKia,IAAI7D,EAAEhB,GAAG,QAASc,KAAIoD,EAAE6K,aAAa,QAAO,GAAI/O,EAAEqhB,cAAa,EAAGrhB,EAAEshB,gBAAe,EAAGthB,EAAEuhB,gBAAe,EAAG,QAASvgB,GAAEf,GAAG,GAAGiE,EAAErY,YAAY,CAAC,GAAIqU,GAAE2E,EAAEsD,WAAWhI,EAAE0E,EAAE2B,aAAa9b,EAAEma,EAAEuD,YAAapI,GAAE6gB,eAAe3gB,EAAE,IAAIA,GAAG,KAAKA,EAAE,GAAGA,EAAE,IAAIF,EAAE0H,MAAM,MAAMzH,EAAEC,EAAExT,EAAEwT,GAAG2S,GAAG,MAAM5S,IAAID,EAAE2H,QAAQjb,EAAEyT,IAAIH,EAAEohB,SAASvc,EAAEsD,WAAW,GAAG5D,EAAE,GAAGA,EAAE,GAAG,MAAMtE,IAAID,EAAE6H,QAAQnb,EAAEhC,IAAIsV,EAAEohB,SAASvc,EAAEsD,WAAW,GAAG5D,EAAE,GAAGA,EAAE,OAAQvE,GAAE0H,MAAM,KAAK1H,EAAE2H,QAAQ,KAAK3H,EAAE6H,QAAQ,KAAK7H,EAAEohB,SAAS7c,EAAE,GAAG,QAAStD,GAAEjB,GAAG6E,EAAET,EAAES,EAAE7E,GAAGvT,IAAI,QAAS6J,GAAE0J,EAAEC,GAAG,MAAOmE,GAAEpE,EAAE,GAAGC,GAAG,QAASmE,GAAEpE,EAAEC,GAAG,GAAIC,GAAE,GAAItV,MAAKoV,EAAEvE,UAAU,IAAIwE,GAAGE,EAAE,GAAIvV,MAAKoV,EAAG,OAAOG,GAAEsI,SAASvI,EAAEiI,WAAWjI,EAAEsG,aAAatG,EAAEkI,cAAcjI,EAAE,GAAI0E,GAAE,GAAIja,MAAK6Z,KAAKP,GAAGJ,cAAclgB,QAAQif,MAAM0B,EAAE3gB,QAAQ8L,UAAUwQ,EAAE6gB,WAAW/gB,EAAEoD,QAAQ9B,MAAMpB,EAAE6gB,WAAW1gB,EAAE0gB,WAAW3gB,EAAEgH,iBAAiBU,MAAM+K,GAAEjvB,QAAQ8L,UAAUwQ,EAAEshB,WAAUxhB,EAAEoD,QAAQ9B,MAAMpB,EAAEshB,SAAaxhB,GAAEyhB,SAAS79B,QAAQ8L,UAAUwQ,EAAEuhB,UAAUvhB,EAAEuhB,SAAS,EAAExhB,EAAEyhB,WAAW,YAAYp4B,KAAK3C,KAAK,SAASsZ,EAAEE,GAAG+D,EAAEjE,EAAEiE,EAAEtY,QAAQtC,KAAKolB,OAAOxK,EAAEnZ,YAAYmB,QAAQ,SAAS8T,GAAG,MAAOA,GAAE,GAAIpV,MAAKoV,GAAG,MAAO,IAAItV,GAAEyV,EAAE8V,GAAG,GAAG7V,EAAED,EAAE8V,GAAG,GAAG3V,EAAEH,EAAE8V,GAAG,GAAGpV,EAAEjd,QAAQ8L,UAAUwQ,EAAE+gB,YAAYjhB,EAAEoD,QAAQ9B,MAAMpB,EAAE+gB,YAAY5gB,EAAE4gB,UAAWpgB,IAAGvX,KAAKq4B,sBAAsBj3B,EAAE0V,EAAEE,EAAG,IAAIS,GAAEnd,QAAQ8L,UAAUwQ,EAAEghB,WAAWlhB,EAAEoD,QAAQ9B,MAAMpB,EAAEghB,WAAW7gB,EAAE6gB,SAAUngB,IAAGzX,KAAKs4B,oBAAoBl3B,EAAE0V,EAAEE,GAAGN,EAAEghB,cAAcp9B,QAAQ8L,UAAUwQ,EAAE8gB,eAAehhB,EAAEoD,QAAQ9B,MAAMpB,EAAE8gB,eAAe3gB,EAAE2gB,cAAc13B,KAAKu4B,iBAAiBn3B,EAAE0V,EAAEE,GAAI,IAAI5Y,GAAE2Y,EAAEqgB,QAASxgB,GAAEwgB,UAAUjc,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAEwgB,UAAU,SAAS1gB,GAAGtY,GAAGsY,IAAK,IAAId,GAAEmB,EAAEsgB,UAAWzgB,GAAEygB,YAAYlc,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAEygB,YAAY,SAAS3gB,GAAGd,GAAGc,IAAK,IAAIgT,EAAEvO,GAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAEoR,KAAK,SAAStR,GAAG,GAAIC,GAAE,GAAIrV,MAAKoV,EAAGgT,GAAE1mB,MAAM2T,GAAG,OAAOA,IAAK,IAAI8S,EAAEtO,GAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAEgb,KAAK,SAASlb,GAAG,GAAIC,GAAE,GAAIrV,MAAKoV,EAAG+S,GAAEzmB,MAAM2T,GAAG,OAAOA,IAAK,IAAIgT,IAAE,CAAG/S,GAAEmO,YAAY5J,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAEmO,YAAY,SAASrO,GAAGiT,EAAEjT,KAAKA,EAAE8hB,iBAAiB,WAAW,GAAI9hB,GAAE1J,EAAEuO,EAAE,GAAGnd,EAAG,OAAOurB,IAAGjT,EAAE+S,GAAGlO,EAAE7E,GAAGgT,EAAEhT,GAAGA,EAAE+hB,iBAAiB,WAAW,GAAI/hB,GAAE1J,EAAEuO,EAAE,IAAInd,EAAG,OAAOurB,IAAGD,EAAEhT,GAAGA,EAAE6E,GAAG7E,EAAE+S,GAAG/S,EAAEgiB,mBAAmB,WAAW,GAAIhiB,GAAE1J,EAAEuO,EAAE3F,EAAG,OAAO+T,IAAGjT,EAAE+S,GAAGlO,EAAE7E,GAAGgT,EAAEhT,GAAGA,EAAEiiB,mBAAmB,WAAW,GAAIjiB,GAAE1J,EAAEuO,GAAG3F,EAAG,OAAO+T,IAAGD,EAAEhT,GAAGA,EAAE6E,GAAG7E,EAAE+S,GAAG/S,EAAEkiB,mBAAmB,WAAW,GAAIliB,GAAEoE,EAAES,EAAEqO,EAAG,OAAOD,IAAGjT,EAAE+S,GAAGlO,EAAE7E,GAAGgT,EAAEhT,GAAGA,EAAEmiB,mBAAmB,WAAW,GAAIniB,GAAEoE,EAAES,GAAGqO,EAAG,OAAOD,IAAGD,EAAEhT,GAAGA,EAAE6E,GAAG7E,EAAE+S,GAAG/S,EAAEoiB,iBAAiB,WAAW,MAAOvd,GAAEsD,WAAW,GAAG8K,GAAG3c,EAAEuO,EAAE,KAAKkO,EAAEE,GAAG3c,EAAEuO,GAAE,KAAMmO,EAAG,IAAIE,GAAE7S,EAAEugB,UAAW1gB,GAAE0gB,YAAYnc,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAE0gB,YAAY,SAAS5gB,GAAGkT,GAAGlT,KAAKA,EAAE8gB,YAAYzgB,EAAEygB,YAAY5gB,EAAE4gB,aAAarc,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAE4gB,aAAa,SAAS7gB,GAAGD,EAAE8gB,cAAc7gB,KAAKD,EAAE6gB,aAAaxgB,EAAEwgB,aAAa3gB,EAAE2gB,cAAcpc,EAAEtI,KAAK6D,EAAEoD,QAAQxb,OAAOuY,EAAED,EAAE2gB,cAAc,SAAS5gB,GAAG,GAAGD,EAAE6gB,eAAe5gB,EAAEiE,EAAEme,OAAOC,KAAK,CAAC,GAAIpiB,GAAEI,IAAIH,EAAEU,GAAIjd,SAAQ8L,UAAUwQ,IAAItc,QAAQ8L,UAAUyQ,KAAK0E,EAAE4D,SAASvI,GAAGzT,SAAUuU,QAAO1X,KAAKq4B,sBAAsB,SAAS1hB,EAAEC,EAAEC,GAAG,GAAIzV,GAAE,SAASsV,GAAGA,EAAEuiB,gBAAgBviB,EAAEA,EAAEuiB,cAAe,IAAItiB,GAAED,EAAEwiB,WAAWxiB,EAAEwiB,YAAYxiB,EAAEyiB,MAAO,OAAOziB,GAAE0iB,QAAQziB,EAAE,EAAGA,GAAElY,KAAK,mBAAmB,SAASkY,GAAGgT,GAAGjT,EAAEhY,OAAO0C,EAAEuV,GAAGD,EAAE2iB,iBAAiB3iB,EAAE4iB,kBAAkB3iB,EAAE9Y,mBAAmB+Y,EAAEnY,KAAK,mBAAmB,SAASkY,GAAGgT,GAAGjT,EAAEhY,OAAO0C,EAAEuV,GAAGD,EAAE6iB,mBAAmB7iB,EAAE8iB,oBAAoB7iB,EAAE9Y,mBAAmBgZ,EAAEpY,KAAK,mBAAmB,SAASkY,GAAGgT,GAAGjT,EAAEhY,OAAO0C,EAAEuV,GAAGD,EAAE+iB,mBAAmB/iB,EAAEgjB,oBAAoB/iB,EAAE9Y,oBAAoBmC,KAAKs4B,oBAAoB,SAAS3hB,EAAEC,EAAEC,GAAGF,EAAElY,KAAK,UAAU,SAASkY,GAAGgT,IAAI,KAAKhT,EAAEtT,OAAOsT,EAAE9Y,iBAAiB6Y,EAAE2iB,iBAAiB3iB,EAAEhY,UAAU,KAAKiY,EAAEtT,QAAQsT,EAAE9Y,iBAAiB6Y,EAAE4iB,iBAAiB5iB,EAAEhY,aAAakY,EAAEnY,KAAK,UAAU,SAASkY,GAAGgT,IAAI,KAAKhT,EAAEtT,OAAOsT,EAAE9Y,iBAAiB6Y,EAAE6iB,mBAAmB7iB,EAAEhY,UAAU,KAAKiY,EAAEtT,QAAQsT,EAAE9Y,iBAAiB6Y,EAAE8iB,mBAAmB9iB,EAAEhY,aAAamY,EAAEpY,KAAK,UAAU,SAASkY,GAAGgT,IAAI,KAAKhT,EAAEtT,OAAOsT,EAAE9Y,iBAAiB6Y,EAAE+iB,mBAAmB/iB,EAAEhY,UAAU,KAAKiY,EAAEtT,QAAQsT,EAAE9Y,iBAAiB6Y,EAAEgjB,mBAAmBhjB,EAAEhY,cAAcsB,KAAKu4B,iBAAiB,SAAS5hB,EAAEC,EAAEC,GAAG,GAAGH,EAAEghB,cAAc,MAAOhhB,GAAEijB,YAAYr/B,QAAQif,KAAK7C,EAAEkjB,cAAct/B,QAAQif,UAAU7C,EAAEmjB,cAAcv/B,QAAQif,KAAM,IAAInY,GAAE,SAASuV,EAAEC,EAAEC,GAAG+D,EAAEJ,cAAc,MAAMI,EAAE6K,aAAa,QAAO,GAAInrB,QAAQ8L,UAAUuQ,KAAKD,EAAEqhB,aAAaphB,GAAGrc,QAAQ8L,UAAUwQ,KAAKF,EAAEshB,eAAephB,GAAGtc,QAAQ8L,UAAUyQ,KAAKH,EAAEuhB,eAAephB,GAAIH,GAAEijB,YAAY,WAAW,GAAIjjB,GAAEM,IAAIL,EAAEY,GAAIqD,GAAEkf,YAAYx/B,QAAQ8L,UAAUsQ,IAAIpc,QAAQ8L,UAAUuQ,IAAI4E,EAAE4D,SAASzI,GAAG6E,EAAE0B,WAAWtG,GAAG+S,EAAEnO,GAAGA,EAAEkO,EAAEroB,GAAE,GAAI+B,EAAE,MAAM/B,GAAE,IAAKuV,EAAElY,KAAK,OAAO,SAASkY,GAAGiE,EAAEmf,cAAc,OAAOrjB,EAAE0H,OAAO,KAAK1H,EAAE0H,MAAMhd,GAAE,IAAKsV,EAAEqhB,cAAcrhB,EAAE0H,MAAM,IAAI1H,EAAEhY,OAAO,WAAWgY,EAAE0H,MAAMhb,EAAEsT,EAAE0H,OAAOmL,OAAO7S,EAAEkjB,cAAc,WAAW,GAAIljB,GAAEa,IAAIZ,EAAEK,GAAI4D,GAAEkf,YAAYx/B,QAAQ8L,UAAUsQ,IAAIpc,QAAQ8L,UAAUuQ,IAAI4E,EAAE4D,SAASxI,GAAG4E,EAAE0B,WAAWvG,GAAGgT,EAAEnO,GAAGA,EAAEkO,EAAEroB,EAAE,QAAO,GAAI+B,EAAE,MAAM/B,EAAE,QAAO,IAAKwV,EAAEnY,KAAK,OAAO,SAASkY,GAAGiE,EAAEmf,cAAc,OAAOrjB,EAAE2H,QAAQjd,EAAE,QAAO,IAAKsV,EAAEshB,gBAAgBthB,EAAE2H,QAAQ,IAAI3H,EAAEhY,OAAO,WAAWgY,EAAE2H,QAAQjb,EAAEsT,EAAE2H,aAAa3H,EAAEmjB,cAAc,WAAW,GAAInjB,GAAEe,GAAImD,GAAEkf,YAAYx/B,QAAQ8L,UAAUsQ,IAAI6E,EAAEye,WAAWtjB,GAAGvT,EAAE,MAAM/B,EAAE,OAAO,QAAO,IAAKyV,EAAEpY,KAAK,OAAO,SAASkY,IAAID,EAAEuhB,gBAAgBvhB,EAAE6H,QAAQ,IAAI7H,EAAEhY,OAAO,WAAWgY,EAAE6H,QAAQnb,EAAEsT,EAAE6H,cAAcve,KAAKolB,OAAO,WAAW,GAAIzO,GAAEiE,EAAEyK,UAAWriB,OAAM2T,IAAIiE,EAAE6K,aAAa,QAAO,GAAIrkB,EAAEuF,MAAM,mKAAmKgQ,IAAI4E,EAAE5E,GAAG+S,EAAEnO,GAAGA,EAAEkO,GAAG7O,EAAE6K,aAAa,QAAO,GAAI/O,EAAEqhB,cAAa,EAAGrhB,EAAEshB,gBAAe,GAAIxgB,IAAIE,MAAMhB,EAAEmhB,aAAav9B,QAAQ8L,UAAUwQ,EAAEihB,cAAcnhB,EAAEoD,QAAQ9B,MAAMpB,EAAEihB,cAAc9gB,EAAE8gB,aAAanhB,EAAE2iB,eAAe,WAAW3iB,EAAE8hB,oBAAoB7gB,EAAE,GAAGvZ,EAAE,KAAKsY,EAAE4iB,eAAe,WAAW5iB,EAAE+hB,oBAAoB9gB,EAAE,IAAIvZ,EAAE,KAAKsY,EAAE6iB,iBAAiB,WAAW7iB,EAAEgiB,sBAAsB/gB,EAAE,GAAG/B,IAAIc,EAAE8iB,iBAAiB,WAAW9iB,EAAEiiB,sBAAsBhhB,EAAE,IAAI/B,IAAIc,EAAE+iB,iBAAiB,WAAW/iB,EAAEkiB,sBAAsBjhB,EAAEiS,IAAIlT,EAAEgjB,iBAAiB,WAAWhjB,EAAEmiB,sBAAsBlhB,GAAGiS,IAAIlT,EAAEujB,eAAe,WAAW,GAAItjB,GAAEY,IAAIX,EAAEI,GAAIN,GAAEoiB,qBAAqBx+B,QAAQ8L,UAAUuQ,IAAIrc,QAAQ8L,UAAUwQ,GAAGe,EAAE,KAAK4D,EAAEsD,WAAW,GAAG,IAAG,KAAMnI,EAAEohB,SAASphB,EAAEohB,WAAW7c,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAKvE,EAAEqb,KAAK,WAAWnX,EAAEmf,eAAerjB,EAAEpZ,IAAI,WAAW,WAAW,KAAK6d,EAAE9b,QAAQ8b,EAAEN,eAAevb,UAAU,iBAAiB,sBAAsB,SAASoX,GAAG,OAAOnV,SAAS,gBAAgB,aAAanG,WAAW,0BAA0Bod,aAAa,aAAa7V,SAAQ,EAAGhD,SAAS3E,YAAY,SAAS2b,EAAEC,GAAG,MAAOA,GAAE5b,aAAa0b,EAAE1b,aAAayE,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAG,GAAIzV,GAAEyV,EAAE,GAAGC,EAAED,EAAE,EAAGC,IAAG1V,EAAE/D,KAAKyZ,EAAEH,EAAEuD,KAAK,eAAe5f,QAAQC,OAAO,0BAA0B,wBAAwB,0BAA0B8F,QAAQ,sBAAsB,SAAS,SAASqW,GAAG,GAAIC,GAAE,wFAAyF,QAAOrF,MAAM,SAASsF,GAAG,GAAIC,GAAED,EAAEzI,MAAMwI,EAAG,KAAIE,EAAE,KAAM,IAAI2T,OAAM,gHAAgH5T,EAAE,KAAM,QAAOsjB,SAASrjB,EAAE,GAAGsjB,OAAOzjB,EAAEG,EAAE,IAAIujB,WAAW1jB,EAAEG,EAAE,IAAIA,EAAE,IAAIwjB,YAAY3jB,EAAEG,EAAE,UAAUzb,WAAW,0BAA0B,SAAS,WAAW,SAAS,WAAW,SAAS,KAAK,WAAW,YAAY,UAAU,aAAa,aAAa,eAAe,qBAAqB,SAASsb,EAAEC,EAAEC,EAAEC,EAAEzV,EAAE0V,EAAEC,EAAEC,EAAEO,EAAEE,EAAErU,EAAED,EAAEqU,GAAG,QAASE,KAAIkc,EAAE0G,iBAAiB1G,EAAE0G,gBAAe,EAAG1G,EAAE2G,WAAWC,IAAI,QAAS7iB,KAAIic,EAAEhT,SAASkJ,EAAE3mB,EAAEoe,OAAO5K,GAAGxT,EAAEyd,SAASjK,GAAGid,EAAEhT,SAASY,KAAK7K,EAAErE,KAAK,gBAAgB,GAAItF,GAAE8N,EAAES,GAAG,EAAE,GAAG,GAAG,GAAG,IAAIJ,EAAE,IAAIP,EAAElE,EAAEsB,MAAMpB,EAAE6jB,mBAAoB7f,IAAG,IAAIA,IAAIA,EAAE,GAAGlE,EAAEpY,OAAOsY,EAAE6jB,mBAAmB,SAAS/jB,GAAGkE,EAAElE,GAAG,IAAIA,EAAEA,EAAE,GAAI,IAAIuE,GAAEvE,EAAEsB,MAAMpB,EAAE8jB,kBAAkB,EAAEnR,EAAE7S,EAAEsB,MAAMpB,EAAE+jB,sBAAqB,CAAGjkB,GAAEpY,OAAOsY,EAAE+jB,kBAAkB,SAASjkB,GAAG6S,EAAE7S,KAAI,GAAK,IAAItY,GAAEwX,EAAE8T,EAAEtoB,EAAEwV,EAAEgkB,kBAAkB7P,QAAQzwB,QAAQif,KAAKkQ,EAAEroB,EAAEwV,EAAEikB,mBAAmBlR,IAAErvB,QAAQ8L,UAAUwQ,EAAEkkB,wBAAuBpkB,EAAEsB,MAAMpB,EAAEkkB,uBAA0BlR,EAAExoB,EAAEwV,EAAEmkB,oBAAoBhQ,QAAQzwB,QAAQif,KAAKsQ,EAAEjT,EAAEokB,wBAAwB55B,EAAEwV,EAAEokB,yBAAyB,OAAOlR,IAAElT,EAAEqkB,uBAAsBvkB,EAAEsB,MAAMpB,EAAEqkB,uBAA0BlR,EAAEnT,EAAEskB,kBAAkBxkB,EAAEsB,MAAMpB,EAAEskB,mBAAmB,KAAKlR,EAAEtT,EAAEsB,MAAMpB,EAAEukB,wBAAuB,EAAGjS,IAAEtS,EAAEwkB,wBAAuB1kB,EAAEsB,MAAMpB,EAAEwkB,wBAA2BnS,EAAE7nB,EAAEwV,EAAEykB,iBAAiBtQ,QAAQzwB,QAAQif,KAAK8P,EAAE3S,EAAEsB,MAAMpB,EAAE0kB,qBAAoB,EAAGtS,EAAE5nB,EAAEwV,EAAEvV,SAAS4oB,EAAE7oB,EAAEwV,EAAEvV,QAAQ,UAAU6oB,EAAE,SAASvT,EAAEC,GAAG,MAAOtc,SAAQkX,WAAWwX,EAAEtS,KAAKoE,GAAGA,EAAEqK,UAAUrK,EAAEqK,SAASoW,aAAatR,EAAEtT,GAAG6kB,KAAK5kB,IAAIoS,EAAE+B,OAAOpU,EAAEC,IAAIuT,EAAE3S,EAAElG,MAAMsF,EAAE6kB,cAAc7H,EAAEld,EAAEuV,OAAOkI,EAAEzd,EAAEpZ,IAAI,WAAW,WAAWs2B,EAAE3G,YAAa2G,GAAEt2B,IAAI,WAAW62B,EAAG,IAAIF,GAAE,aAAaL,EAAE3a,IAAI,IAAIC,KAAKC,MAAM,IAAID,KAAKE,SAAUzC,GAAEjW,MAAMg7B,oBAAoB,OAAOtO,iBAAgB,EAAGuO,YAAY1H,GAAI,IAAIF,GAAEG,CAAE7K,KAAI0K,EAAEz5B,QAAQ+D,QAAQ,eAAe01B,EAAEzjB,IAAI,WAAW,YAAYqG,EAAEyU,MAAM2I,GAAGG,EAAEvd,EAAEilB,QAAQ1H,EAAExzB,KAAK,cAAc,IAAIwzB,EAAExzB,KAAK,WAAW,MAAMwzB,EAAE1xB,IAAI,IAAI0xB,EAAE5jB,KAAKsQ,SAAS,WAAWY,IAAI,MAAME,KAAK,MAAMma,eAAe,cAAcC,aAAa,OAAOC,QAAQ,EAAEC,WAAW,4EAA4EC,MAAM,SAAStlB,EAAErG,KAAKsQ,SAAS,WAAWsb,iBAAiB,MAAMC,mBAAmB,gBAAgBpI,EAAEra,OAAOwa,GAAGA,EAAE9I,MAAMzU,GAAI,IAAImd,GAAEx5B,QAAQ+D,QAAQ,kCAAmCy1B,GAAEpzB,MAAMJ,GAAG2zB,EAAEthB,QAAQ,UAAUqI,OAAO,YAAY/a,OAAO,yBAAyBm8B,mBAAmB,iBAAiBC,MAAM,QAAQzb,SAAS,WAAW0b,iBAAiB,uBAAuBC,SAAS,mBAAmBjiC,QAAQ8L,UAAUwQ,EAAE4lB,uBAAuB1I,EAAEpzB,KAAK,eAAekW,EAAE4lB,sBAAsBliC,QAAQ8L,UAAUwQ,EAAE6lB,4BAA4B3I,EAAEpzB,KAAK,qBAAqBkW,EAAE6lB,0BAA2B,IAAIpI,GAAE,WAAWhL,GAAG6K,EAAE1xB,IAAI,KAAKgyB,EAAE,WAAWZ,EAAEjhB,WAAWihB,EAAE8I,WAAU,EAAG/lB,EAAEjW,KAAK,iBAAgB,GAAI2zB,KAAKI,EAAE,SAAS/d,GAAG,MAAOud,GAAE,WAAWvd,EAAGkd,GAAEt1B,OAAO,YAAY,SAASoY,GAAG,EAAEA,EAAEC,EAAEyhB,WAAW,yBAAyBzhB,EAAEjW,KAAK,wBAAwB+zB,EAAE/d,KAAM,IAAIge,GAAE,SAAShe,EAAEC,GAAG,SAAOid,EAAEjhB,QAAQtT,OAAOsX,GAAGD,IAAEA,EAAE5U,gBAAgB8xB,EAAEjhB,QAAQgE,GAAGgP,MAAM7jB,eAAkB66B,EAAE,SAAS/lB,EAAEC,GAAG,GAAIzV,IAAGikB,WAAWzO,EAAG8S,GAAEhT,GAAE,GAAIkT,EAAElT,GAAE,GAAII,EAAEyX,KAAKpE,EAAEgQ,OAAOzjB,EAAEtV,IAAI3E,KAAK,SAASqa,GAAG,GAAIC,GAAEH,IAAI5J,EAAEqY,UAAW,IAAGtO,GAAG3Y,EAAE,GAAG0Y,GAAGA,EAAEzX,OAAO,EAAE,CAACu0B,EAAE8I,UAAU1S,EAAE,GAAE,EAAGJ,EAAElT,GAAE,GAAIkd,EAAEjhB,QAAQtT,OAAO,CAAE,KAAI,GAAI2X,GAAE,EAAEA,EAAEF,EAAEzX,OAAO2X,IAAI5V,EAAE+oB,EAAE+P,UAAUpjB,EAAEE,GAAG4c,EAAEjhB,QAAQE,MAAMvS,GAAGm0B,EAAEzd,GAAG2O,MAAMwE,EAAEiQ,WAAWxG,EAAExyB,GAAGw7B,MAAM9lB,EAAEE,IAAK,IAAG4c,EAAEyI,MAAMzlB,EAAEe,IAAIhB,EAAEjW,KAAK,iBAAgB,GAAIwoB,GAAG,IAAI0K,EAAEjhB,QAAQtT,QAAQq1B,EAAE9d,EAAE,KAAKtc,QAAQmhB,SAASmY,EAAEiJ,iBAAiBviC,QAAQyX,SAAS6hB,EAAEiJ,gBAAgBz5B,EAAE,WAAWwwB,EAAE3zB,OAAO,EAAE4W,IAAIvc,QAAQmhB,SAASmY,EAAEiJ,gBAAgBjJ,EAAEiJ,eAAejJ,EAAEiJ,eAAe,SAAYjJ,EAAE3zB,OAAO,EAAE4W,IAAIwS,EAAE,CAAC,GAAI9R,GAAEqc,EAAEjhB,QAAQ,GAAGgT,KAAMrrB,SAAQoX,SAASkF,IAAIA,EAAEvX,OAAO,GAAGkY,EAAEiU,MAAM,EAAE5U,EAAEvX,QAAQyC,gBAAgB8U,EAAE9U,cAAcoyB,EAAE1xB,IAAIoU,EAAEW,EAAEiU,MAAM5U,EAAEvX,SAAS60B,EAAE1xB,IAAI,SAAUgyB,KAAI5K,EAAElT,GAAE,EAAIK,IAAG2S,EAAEhT,GAAE,IAAK,WAAW8d,IAAI9K,EAAEhT,GAAE,GAAIkT,EAAElT,GAAE,KAAOoT,KAAIxvB,QAAQ+D,QAAQkZ,GAAG5W,GAAG,SAAS+W,GAAGV,EAAEkD,KAAK,QAAQvZ,GAAG,SAAS+W,GAAI,IAAI8iB,GAAEp3B,EAAE,WAAWwwB,EAAEjhB,QAAQtT,QAAQsY,IAAIic,EAAE0G,gBAAe,GAAInf,EAAGyY,GAAE0G,gBAAe,EAAG1G,EAAEyI,MAAM,MAAO,IAAIS,GAAEC,EAAE,SAASrmB,GAAGomB,EAAE/lB,EAAE,WAAW4lB,EAAEjmB,IAAIuE,IAAI+hB,EAAE,WAAWF,GAAG/lB,EAAE5N,OAAO2zB,GAAItI,KAAIZ,EAAEqJ,aAAa,SAAStmB,GAAGsS,EAAEvS,EAAEC,IAAIid,EAAE3zB,OAAO,SAAS4W,EAAEzV,GAAG,GAAI0V,GAAEE,EAAEO,IAAK3B,IAAE,EAAG2B,EAAE4S,EAAE+P,UAAUljB,EAAE4c,EAAEjhB,QAAQkE,GAAG+lB,MAAM9lB,EAAEqT,EAAEkQ,YAAY3jB,EAAEa,GAAG2S,EAAExT,EAAEI,GAAG9J,EAAEyY,aAAa,YAAW,GAAIzY,EAAEyY,aAAa,SAAQ,GAAIgE,EAAE/S,GAAGwmB,MAAMlmB,EAAEmmB,OAAOrmB,EAAEsmB,OAAOjT,EAAEiQ,WAAW1jB,EAAEa,GAAGif,OAAOp1B,IAAIozB,IAAIZ,EAAE5b,MAAMpB,EAAEymB,2BAA0B,GAAItmB,EAAE,WAAWJ,EAAE,GAAGvW,SAAS,GAAE,IAAKuW,EAAEhW,GAAG,UAAU,SAASgW,GAAG,GAAG,IAAIid,EAAEjhB,QAAQtT,SAAQ,IAAKkc,EAAErJ,QAAQyE,EAAEtT,OAAO,CAAC,IAAG,IAAKuwB,EAAE8I,YAAY,IAAI/lB,EAAEtT,OAAO,KAAKsT,EAAEtT,QAAQ,IAAIsT,EAAEtT,OAAOsT,EAAEuQ,SAAS,MAAOsN,SAASZ,GAAE2G,SAAU5jB,GAAE9Y,gBAAiB,IAAI+Y,EAAE,QAAOD,EAAEtT,OAAO,IAAK,GAAE,IAAK,IAAGuwB,EAAEl1B,OAAO,WAAWpE,QAAQmhB,SAASmY,EAAEiJ,iBAAiBviC,QAAQyX,SAAS6hB,EAAEiJ,gBAAgBz5B,EAAE,WAAWwwB,EAAE3zB,OAAO2zB,EAAE8I,UAAU/lB,IAAIrc,QAAQmhB,SAASmY,EAAEiJ,gBAAgBjJ,EAAEiJ,eAAejJ,EAAEiJ,eAAe,SAAYjJ,EAAE3zB,OAAO2zB,EAAE8I,UAAU/lB,IAAK,MAAM,KAAK,IAAGA,EAAEyQ,kBAAkBoN,IAAI9d,EAAE6jB,SAAU,MAAM,KAAK,IAAG3G,EAAE8I,WAAW9I,EAAE8I,UAAU,EAAE9I,EAAE8I,UAAU9I,EAAEjhB,QAAQtT,QAAQ,EAAEu0B,EAAE2G,UAAU3jB,EAAEkd,EAAE5Z,KAAK,MAAM0Z,EAAE8I,WAAW9lB,EAAE0mB,WAAWzb,UAAUjL,EAAE2mB,SAAU,MAAM,KAAK,IAAG3J,EAAE8I,WAAW9I,EAAE8I,UAAU,GAAG9I,EAAEjhB,QAAQtT,OAAOu0B,EAAE2G,UAAU3jB,EAAEkd,EAAE5Z,KAAK,MAAM0Z,EAAE8I,WAAW9lB,EAAE0mB,WAAWzb,UAAUjL,EAAE2mB,cAAc5mB,EAAElY,KAAK,QAAQ,SAASiY,GAAGtY,GAAE,EAAG,IAAIwc,GAAG5N,EAAEqY,YAAYtO,EAAE,WAAW4lB,EAAE3vB,EAAEqY,WAAW3O,IAAI,KAAKC,EAAElY,KAAK,OAAO,SAASiY,GAAGiT,GAAGiK,EAAEjhB,QAAQtT,SAAQ,IAAKu0B,EAAE8I,YAAY9mB,IAAIA,GAAE,EAAGge,EAAEl1B,OAAO,WAAWpE,QAAQyX,SAAS6hB,EAAEiJ,iBAAiBviC,QAAQmhB,SAASmY,EAAEiJ,eAAe9K,MAAM3uB,EAAE,WAAWwwB,EAAE3zB,OAAO2zB,EAAE8I,UAAUhmB,IAAIkd,EAAEiJ,eAAe9K,MAAM6B,EAAE3zB,OAAO2zB,EAAE8I,UAAUhmB,OAAO6S,GAAGvc,EAAE+rB,OAAOyE,WAAWxwB,EAAEqY,WAAW,GAAGrY,EAAEyY,aAAa,YAAW,GAAIzY,EAAEyY,aAAa,SAAQ,GAAI9O,EAAEnU,IAAI,KAAKpE,GAAE,EAAGwX,GAAE,GAAK,IAAI6nB,IAAG,SAAS7mB,GAAGD,EAAE,KAAKC,EAAEtT,QAAQ,IAAIsT,EAAEvT,OAAO,IAAIuwB,EAAEjhB,QAAQtT,SAASm1B,IAAI/c,EAAE4T,SAAS3U,EAAE6jB,WAAYvjB,GAAErW,GAAG,QAAQ88B,IAAI/mB,EAAEpZ,IAAI,WAAW,WAAW0Z,EAAElW,IAAI,QAAQ28B,KAAK3T,GAAGC,IAAI2T,GAAGhtB,SAASoZ,IAAIxvB,QAAQ+D,QAAQkZ,GAAGzW,IAAI,SAAS4W,GAAGV,EAAEkD,KAAK,QAAQpZ,IAAI,SAAS4W,IAAIoc,EAAEpjB,SAAS2Y,GAAG0K,EAAErjB,UAAW,IAAIgtB,IAAG7mB,EAAEid,GAAGF,EAAG9J,GAAE9S,EAAEkD,KAAK,QAAQR,OAAOgkB,IAAI3T,EAAEzvB,QAAQ+D,QAAQ0rB,GAAG4C,GAAG,GAAGjT,OAAOgkB,IAAI/mB,EAAEyU,MAAMsS,IAAI19B,KAAK3C,KAAK,SAASsZ,EAAEC,GAAG5J,EAAE2J,EAAEmE,EAAElE,EAAEgd,EAAEiJ,eAAe7vB,EAAEmY,UAAU/jB,EAAE4L,EAAEmY,SAASoX,UAAU7lB,GAAG1J,EAAEtL,SAASkB,QAAQ,SAAS+T,GAAG,MAAOvY,IAAE,EAAG,IAAIwc,GAAGjE,GAAGA,EAAEtX,QAAQub,EAAEK,EAAE,GAAG+hB,IAAID,EAAEpmB,IAAIgmB,EAAEhmB,IAAI+S,EAAEhT,GAAE,GAAIsmB,IAAIxI,KAAKjL,EAAE5S,EAAEA,MAAO3J,GAAEyY,aAAa,YAAW,IAAKzY,EAAEyY,aAAa,YAAW,GAAI,QAAQzY,EAAEvL,YAAYoR,KAAK,SAAS8D,GAAG,GAAIC,GAAEC,EAAEzV,IAAK,OAAOmoB,IAAGvc,EAAEyY,aAAa,YAAW,GAAIoE,GAAGzoB,EAAE+7B,OAAOxmB,EAAEkT,EAAEnT,EAAEtV,KAAKA,EAAE+oB,EAAE+P,UAAUvjB,EAAEC,EAAEuT,EAAEiQ,WAAW1jB,EAAEtV,GAAGA,EAAE+oB,EAAE+P,UAAU,OAAOrjB,EAAEsT,EAAEiQ,WAAW1jB,EAAEtV,GAAGwV,IAAIC,EAAED,EAAED,SAASrX,UAAU,eAAe,WAAW,OAAOlE,WAAW,yBAAyBmG,SAAS,UAAU,mBAAmB,gBAAgB9B,KAAK,SAASiX,EAAEC,EAAEC,EAAEC,GAAGA,EAAE,GAAGxZ,KAAKwZ,EAAE,GAAGA,EAAE,QAAQvX,UAAU,qBAAqB,aAAa,SAASoX,GAAG,OAAO/W,OAAOgT,QAAQ,IAAI0pB,MAAM,IAAIrhB,OAAO,IAAI4F,SAAS,IAAI0Z,eAAe,IAAIr6B,OAAO,IAAIg9B,aAAa,IAAIV,SAAS,KAAK55B,SAAQ,EAAG3H,YAAY,SAAS0b,EAAEC,GAAG,MAAOA,GAAEgnB,kBAAkB,+CAA+Cl+B,KAAK,SAASkX,EAAEC,EAAEC,GAAGF,EAAE3b,YAAY6b,EAAE7b,YAAY2b,EAAE0B,OAAO,WAAW,GAAI3B,GAAEC,EAAEhE,QAAQtT,OAAO,CAAE,OAAOsX,GAAEsmB,cAAc5kB,OAAO3B,IAAIA,GAAGC,EAAEyF,SAAS,SAAS1F,GAAG,MAAOC,GAAEqE,SAAStE,GAAGC,EAAEinB,aAAa,SAASlnB,GAAGC,EAAEqE,OAAOtE,GAAGC,EAAEknB,YAAY,SAASjnB,EAAEC,GAAG,GAAIzV,GAAEuV,EAAE4lB,UAAWjiC,SAAQmhB,SAASra,IAAI9G,QAAQyX,SAAS3Q,GAAGsV,EAAE,WAAWC,EAAE1W,QAAQy8B,UAAU9lB,EAAEknB,IAAIjnB,KAAKvc,QAAQmhB,SAASra,GAAGA,EAAEA,EAAE,SAAYuV,EAAE1W,QAAQy8B,UAAU9lB,EAAEknB,IAAIjnB,UAAUvX,UAAU,qBAAqB,mBAAmB,WAAW,SAAS,SAASoX,EAAEC,EAAEC,GAAG,OAAOjX,OAAOmT,MAAM,IAAI3E,MAAM,IAAIkuB,MAAM,KAAK58B,KAAK,SAASoX,EAAEzV,EAAE0V,GAAG,GAAIC,GAAEH,EAAEE,EAAE9b,aAAa6b,EAAEiD,UAAU,6CAA8CpD,GAAEK,GAAGta,KAAK,SAASia,GAAG,GAAIE,GAAEtc,QAAQ+D,QAAQqY,EAAEqW,OAAQ3rB,GAAE4rB,YAAYpW,GAAGD,EAAEC,GAAGC,UAAUlV,OAAO,yBAAyB,OAAO,YAAY,OAAO,SAAS+U,EAAEC,EAAEC,GAAG,QAASC,GAAEH;AAC3w+B,MAAOA,GAAE/T,QAAQ,yBAAyB,QAAQ,QAASvB,GAAEsV,GAAG,MAAM,QAAQmH,KAAKnH,GAAG,GAAII,EAAE,OAAOA,GAAEH,EAAE/B,IAAI,aAAa,SAAS+B,EAAEI,GAAG,OAAOD,GAAG1V,EAAEuV,IAAIC,EAAEoI,KAAK,iDAAiDrI,EAAEI,GAAG,GAAGJ,GAAGhU,QAAQ,GAAIqa,QAAOnG,EAAEE,GAAG,MAAM,uBAAuBJ,EAAEG,IAAIH,EAAED,EAAEqnB,YAAYpnB,IAAIA,MAAMrc,QAAQC,OAAO,kDAAkDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,8CAA8C,gwBAAgwBpzB,QAAQC,OAAO,4CAA4CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,wCAAwC,mEAAmEpzB,QAAQC,OAAO,oCAAoCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,gCAAgC,uXAAuXpzB,QAAQC,OAAO,0CAA0CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,sCAAsC,i/BAAi/BpzB,QAAQC,OAAO,uCAAuCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,mCAAmC,qGAAqGpzB,QAAQC,OAAO,8CAA8CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,0CAA0C,gVAAgVpzB,QAAQC,OAAO,uCAAuCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,mCAAmC,0xDAA0xDpzB,QAAQC,OAAO,yCAAyCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,qCAAqC,o6CAAo6CpzB,QAAQC,OAAO,yCAAyCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,qCAAqC,mzBAAmzBpzB,QAAQC,OAAO,wCAAwCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,oCAAoC,67CAA67CpzB,QAAQC,OAAO,uCAAuCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,mCAAmC,kLAAkLpzB,QAAQC,OAAO,qCAAqCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,iCAAiC,iWAAiWpzB,QAAQC,OAAO,oCAAoCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,gCAAgC,gVAAgVpzB,QAAQC,OAAO,yCAAyCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,qCAAqC,gVAAgVpzB,QAAQC,OAAO,8CAA8CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,0CAA0C,y9BAAy9BpzB,QAAQC,OAAO,mDAAmDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,+CAA+C,oOAAoOpzB,QAAQC,OAAO,8CAA8CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,0CAA0C,0NAA0NpzB,QAAQC,OAAO,uDAAuDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,mDAAmD,mTAAmTpzB,QAAQC,OAAO,6CAA6CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,yCAAyC,kVAAkVpzB,QAAQC,OAAO,iDAAiDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,6CAA6C,yaAAyapzB,QAAQC,OAAO,wCAAwCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,oCAAoC,wUAAwUpzB,QAAQC,OAAO,wCAAwCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,oCAAoC,6TAA6TpzB,QAAQC,OAAO,6CAA6CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,yCAAyC,+EAA+EpzB,QAAQC,OAAO,gDAAgDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,4CAA4C,+VAA+VpzB,QAAQC,OAAO,sCAAsCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,kCAAkC,0jBAA0jBpzB,QAAQC,OAAO,iCAAiCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,6BAA6B,yMAAyMpzB,QAAQC,OAAO,oCAAoCsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,gCAAgC,gYAAgYpzB,QAAQC,OAAO,8CAA8CsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,0CAA0C,09GAA09GpzB,QAAQC,OAAO,kDAAkDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,8CAA8C,wIAAwIpzB,QAAQC,OAAO,kDAAkDsB,KAAK,iBAAiB,SAAS6a,GAAGA,EAAEgX,IAAI,8CAA8C,ugBAAugBpzB,QAAQC,OAAO,yBAAyBsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQ4jC,kBAAkB5jC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,iJAAiJ7jC,QAAQ4jC,kBAAiB,IAAK5jC,QAAQC,OAAO,yBAAyBsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQ8jC,kBAAkB9jC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,kSAAkS7jC,QAAQ8jC,kBAAiB,IAAK9jC,QAAQC,OAAO,2BAA2BsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQ+jC,oBAAoB/jC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,0RAA0R7jC,QAAQ+jC,oBAAmB,IAAK/jC,QAAQC,OAAO,wBAAwBsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQgkC,iBAAiBhkC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,m3FAAm3F7jC,QAAQgkC,iBAAgB,IAAKhkC,QAAQC,OAAO,2BAA2BsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQikC,oBAAoBjkC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,+DAA+D7jC,QAAQikC,oBAAmB,IAAKjkC,QAAQC,OAAO,0BAA0BsB,IAAI,YAAYvB,QAAQ0jC,QAAQC,gBAAgB3jC,QAAQkkC,mBAAmBlkC,QAAQ+D,QAAQkC,UAAU2Z,KAAK,QAAQikB,QAAQ,sFAAsF7jC,QAAQkkC,mBAAkB,KACpj2B,SAASp9B,EAAEwZ,GAAG,gBAAiB6jB,SAAQlkC,OAAOkkC,QAAQ7jB,EAAErZ,QAAQ,YAAY,kBAAmBm9B,SAAQA,OAAOC,IAAID,QAAQ,WAAW9jB,GAAGA,EAAExZ,EAAE9G,UAAU0F,KAAK,SAASoB,GAAG,YAAaA,GAAE7G,OAAO,aAAa,eAAe6G,EAAE7G,OAAO,aAAaC,QAAQ,WAAW,SAAS4G,GAAGA,EAAEkV,UAAU,aAAa,YAAY,OAAO,SAASlV,EAAEwZ,GAAG,MAAO,UAASA,EAAElD,GAAG,GAAIC,GAAEvW,EAAEwZ,EAAElD,EAAG,OAAOC,UAASvW,EAAE7G,OAAO,aAAa2d,SAAS,cAAc0mB,gBAAgB,sBAAsBC,WAAW,mBAAmBz9B,EAAE7G,OAAO,aAAa+E,UAAU,iBAAiB,aAAa,SAAS8B,GAAG,GAAIwZ,GAAE,SAASA,EAAElD,GAAGkD,EAAEtd,IAAI8D,EAAEy9B,WAAW,WAAWjkB,EAAElc,OAAO,WAAWkc,EAAExL,MAAK,MAAOsI,EAAEonB,SAASrgC,KAAK,QAAQ,SAAS2C,GAAGA,EAAEgmB,oBAAoBxM,EAAEmkB,QAAQ,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAWnkB,EAAEokB,KAAK,SAAS59B,GAAGwZ,EAAEqkB,QAAQhD,MAAM76B,KAAKsW,EAAE1a,MAAM,WAAW,QAASoE,GAAEwZ,GAAG,GAAGA,EAAEskB,WAAWtkB,EAAEukB,aAAa,eAAe,MAAMvkB,EAAEwkB,aAAa,KAAM,KAAI,GAAI1nB,GAAEkD,EAAEykB,WAAW3nB,GAAGtW,EAAEsW,GAAGA,EAAEA,EAAE4nB,YAAY,IAAI,GAAI1kB,GAAE,EAAEA,EAAEra,SAASg/B,uBAAuB,mBAAmBlgC,OAAOub,GAAG,EAAExZ,EAAEb,SAASg/B,uBAAuB,mBAAmB3kB,MAAO,QAAOnb,KAAKmb,EAAEjb,OAAOyP,KAAK,IAAI6vB,OAAO,KAAKz/B,SAAS,KAAK6T,SAAS,iMAAiMjS,EAAE7G,OAAO,aAAa+E,UAAU,kBAAkB,aAAa,SAAS8B,GAAG,GAAIwZ,GAAE,SAASA,EAAElD,GAAGkD,EAAEtd,IAAI8D,EAAEy9B,WAAW,WAAWjkB,EAAElc,OAAO,WAAWkc,EAAExL,MAAK,MAAOsI,EAAEonB,SAASrgC,KAAK,QAAQ,SAAS2C,GAAGA,EAAEgmB,oBAAoBxM,EAAE4kB,SAAS,UAAU,WAAW,UAAU,UAAU,UAAU,UAAU,SAAS,WAAW,UAAU,SAAS,WAAW,SAAS,SAAS,UAAU,QAAQ,SAAS,UAAU,QAAQ,QAAQ,WAAW,SAAS,UAAU,UAAU,UAAU,SAAS,UAAU,OAAO,SAAS,QAAQ,SAAS,SAAS,SAAS,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,SAAS,UAAU,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,WAAW,UAAU,SAAS,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,UAAU,WAAW,WAAW,UAAU,SAAS,UAAU5kB,EAAEokB,KAAK,SAAS59B,GAAGwZ,EAAEqkB,QAAQQ,OAAOr+B,KAAKsW,EAAE1a,MAAM,WAAW,QAASoE,GAAEwZ,GAAG,GAAGA,EAAEskB,WAAWtkB,EAAEukB,aAAa,eAAe,MAAMvkB,EAAEwkB,aAAa,KAAM,KAAI,GAAI1nB,GAAEkD,EAAEykB,WAAW3nB,GAAGtW,EAAEsW,GAAGA,EAAEA,EAAE4nB,YAAY,IAAI,GAAI1kB,GAAE,EAAEA,EAAEra,SAASg/B,uBAAuB,oBAAoBlgC,OAAOub,GAAG,EAAExZ,EAAEb,SAASg/B,uBAAuB,oBAAoB3kB,MAAO,QAAOnb,KAAKmb,EAAEjb,OAAOyP,KAAK,IAAI6vB,OAAO,KAAKz/B,SAAS,KAAK6T,SAAS,+JAA+JjS,EAAE7G,OAAO,aAAakL,QAAQ,mBAAmB,aAAa,SAASrE,GAAG,QAASwZ,GAAExZ,GAAGA,EAAEvD,iBAAiB,QAAS6Z,GAAEtW,GAAGA,EAAEvD,iBAAiBuD,EAAEgmB,kBAAkBmC,EAAEmW,MAAMtoB,OAAO,GAAGmS,EAAEmW,MAAM1d,MAAM,GAAG7e,IAAI,QAASwU,GAAEvW,GAAGA,EAAEvD,iBAAiBuD,EAAEgmB,kBAAkBmC,EAAEmW,MAAM1d,MAAM,OAAOuH,EAAEmW,MAAMtoB,OAAO,GAAGjU,IAAI,QAASoU,GAAEnW,GAAG,MAAOA,GAAEkC,QAAQomB,GAAG9S,EAAE+oB,oBAAoB,YAAYpkB,QAAQvE,GAAE,KAAM5V,EAAEgmB,kBAAkBhmB,EAAEvD,iBAAiB+Y,EAAEgpB,iBAAiB,YAAYrkB,QAAQvE,GAAE,IAAK,QAASuE,GAAEna,GAAGA,EAAEgmB,kBAAkBhmB,EAAEvD,gBAAiB,IAAI+c,GAAExZ,EAAEy+B,MAAMnoB,EAAEkD,GAAG2O,EAAEpH,wBAAwBX,IAAI3K,EAAEuL,YAAamH,GAAEmW,MAAMtoB,OAAOM,EAAE,KAAK6R,EAAEmW,MAAM1d,MAAM,GAAGjL,GAAG3V,EAAE0+B,QAAQ/oB,GAAGF,EAAEkpB,YAAY3+B,EAAE0+B,SAAS,IAAIjpB,EAAEmpB,SAAS,EAAEnpB,EAAEkpB,aAAahpB,EAAE3V,EAAE0+B,QAAQ38B,IAAI,QAASuT,GAAEtV,EAAEwZ,GAAG,MAAOA,IAAG5N,GAAGgK,MAAOJ,GAAE+oB,oBAAoB,YAAYpkB,GAAG,QAAQX,EAAEoc,QAAQ7b,KAAKnO,EAAEswB,YAAYriB,EAAEglB,YAAYjzB,GAAGuc,EAAE3O,MAAOzX,MAAK,QAASA,KAAI,GAAI/B,GAAEyV,EAAE8J,iBAAiB4I,EAAGvc,GAAE0yB,MAAMtoB,OAAOhW,EAAE8+B,iBAAiB,UAAUlzB,EAAE0yB,MAAM1d,MAAM5gB,EAAE8+B,iBAAiB,SAASlzB,EAAE0yB,MAAMle,IAAI+H,EAAEpH,wBAAwBX,IAAI3K,EAAEuL,YAAY,KAAKpV,EAAE0yB,MAAMhe,KAAK6H,EAAEpH,wBAAwBT,KAAK7K,EAAEwL,YAAY,KAAKrV,EAAE0yB,MAAMvlB,QAAQ,QAAQ,QAASgB,GAAE/Z,GAAG4L,EAAEswB,aAAal8B,GAAG,QAAQA,EAAEkC,OAAO0zB,UAAUhqB,EAAE0yB,MAAMvlB,QAAQ;AAAOpD,EAAE,OAAO,GAAIH,GAAEC,EAAEoE,EAAEjO,EAAE+J,EAAES,EAAEkS,EAAE5S,EAAEE,EAAEuS,EAAE5S,EAAE3W,IAAK2W,GAAEwpB,MAAM,SAAS5kB,EAAEpY,GAAG0T,EAAE1T,EAAEi9B,YAAYxpB,EAAEzT,EAAE8X,EAAErE,EAAEpD,cAAc,QAAQgE,EAAE+D,EAAEvO,EAAE4J,EAAEypB,cAAc,OAAOrzB,EAAEszB,UAAU,oBAAoBtzB,EAAE0yB,MAAM9e,SAAS,WAAW5T,EAAE0yB,MAAMa,OAAO,mBAAmBvzB,EAAE0yB,MAAMvlB,QAAQ,OAAOnN,EAAEmyB,aAAa,mBAAkB,GAAIzV,EAAE9S,EAAEypB,cAAc,OAAO3W,EAAEgW,MAAM9e,SAAS,WAAW8I,EAAEgW,MAAMtoB,OAAO,OAAOsS,EAAEgW,MAAM1d,MAAM,OAAO0H,EAAEgW,MAAMnd,OAAO,OAAOmH,EAAEgW,MAAMld,MAAM,OAAOkH,EAAEgW,MAAMa,OAAO,kBAAkB7W,EAAEgW,MAAMc,gBAAgB,OAAO9W,EAAEgW,MAAMe,OAAO,YAAY/W,EAAEyV,aAAa,mBAAkB,GAAInyB,EAAEizB,YAAYvW,GAAG5S,EAAEF,EAAEypB,cAAc,OAAOvpB,EAAE4oB,MAAM9e,SAAS,WAAW9J,EAAE4oB,MAAMtoB,OAAO,OAAON,EAAE4oB,MAAM1d,MAAM,QAAQlL,EAAE4oB,MAAMnd,OAAO,QAAQzL,EAAE4oB,MAAMhe,KAAK,IAAI1U,EAAEizB,YAAYnpB,EAAG,IAAIC,GAAEH,EAAEypB,cAAc,SAAUtpB,GAAE6oB,iBAAiB,QAAQloB,GAAGX,EAAE2pB,UAAU,OAAO5pB,EAAEmpB,YAAYlpB,EAAG,IAAIC,GAAEJ,EAAEypB,cAAc,SAAUrpB,GAAE4oB,iBAAiB,QAAQjoB,GAAGX,EAAE0pB,UAAU,OAAO5pB,EAAEmpB,YAAYjpB,GAAGJ,EAAEgpB,iBAAiB,YAAYroB,GAAGX,EAAEgpB,iBAAiB,UAAUroB,GAAGV,EAAEioB,OAAOv+B,SAASq/B,iBAAiB,UAAUroB,GAAG0D,EAAE2kB,iBAAiB,kBAAkBhlB,GAAGpD,EAAEla,IAAI8D,EAAEw9B,gBAAgBloB,GAAGc,EAAEla,IAAI8D,EAAEy9B,WAAW1jB,MAAO,IAAIP,GAAE,m0BAAo0B,OAAOxZ,GAAE7G,OAAO,aAAa+E,UAAU,eAAe,WAAW,aAAa,aAAa,WAAW,WAAW,KAAK,SAASoY,EAAEC,EAAEJ,EAAEgE,EAAE7E,EAAEvT,GAAG,GAAIgY,GAAE,SAASzE,EAAEyE,EAAEvE,EAAEC,GAAG,QAASoE,KAAI,MAAMzD,IAAIA,EAAEjX,SAASiT,cAAc,gBAAgBA,cAAc,UAAUkW,EAAElS,EAAEmpB,gBAAgB7pB,EAAE4S,EAAE0W,aAAa,QAASpzB,GAAE5L,GAAGsV,EAAE3B,WAAW,gBAAgB3T,GAAG,QAAS2V,GAAE3V,GAAG,GAAIwZ,GAAE,IAAIxZ,EAAEmN,IAAK,IAAGqM,GAAG,WAAWxZ,EAAE,MAAS4V,IAAI4D,GAAG,0BAA0BA,GAAG,KAAK,OAAOxZ,EAAEmN,KAAK,CAAC,GAAGnN,EAAEjG,QAAQyf,GAAG,UAAUxZ,EAAEjG,MAAM,MAAMiG,EAAEw/B,gBAAgB5pB,IAAI4D,GAAG,+BAA+BxZ,EAAEw/B,cAAc,2BAA2Bx/B,EAAEy/B,UAAUjmB,GAAG,sCAAsCxZ,EAAEy/B,QAAQ,OAAOz/B,EAAE0/B,QAAQ,CAAC,GAAIppB,GAAE,IAAItW,EAAE0/B,QAAQ,GAAI1/B,GAAE2/B,mBAAmBrpB,GAAG,MAAMtW,EAAE2/B,iBAAiB,KAAKnmB,GAAG,yBAAyBlD,EAAE,UAAWtW,GAAE4/B,iBAAiBpmB,GAAG,aAAaxZ,EAAE4/B,eAAe,KAAMpmB,IAAG,IAAIxZ,EAAE6/B,QAAQjqB,GAAG,KAAK5V,EAAE6/B,SAASrmB,GAAG,mBAAmBxZ,EAAE6/B,OAAO,UAAU7/B,EAAE6/B,QAAQjqB,GAAG,KAAK5V,EAAE6/B,SAASrmB,GAAG,0BAA0BxZ,EAAE8/B,QAAQtmB,GAAGxZ,EAAE8/B,WAAW,UAAU9/B,EAAEmN,OAAOqM,GAAG,aAAaxZ,EAAEw7B,MAAM,KAAKhiB,GAAG,eAAexZ,EAAExD,QAAQ,KAAKgd,GAAG,cAAcxZ,EAAE+/B,OAAO,KAAKvmB,GAAG,oBAAoBxZ,EAAEjG,MAAM,YAAa,OAAOyf,IAAG,KAAKxZ,EAAEmN,KAAK,IAAImI,EAAE0qB,UAAS,EAAG1qB,EAAE2qB,eAAe9gC,SAASq/B,iBAAiB,QAAQ,WAAWroB,EAAExC,WAAW4C,EAAEknB,aAAc,IAAIrnB,GAAE,KAAKkS,EAAE,KAAK5S,EAAE,IAAKJ,GAAE4qB,cAAcC,KAAKhzB,KAAK,MAAMizB,MAAQ,sBAAsBC,MAAMlzB,KAAK,MAAMpT,MAAM,OAAOqmC,MAAQ,qBAAqBP,OAAO,OAAOL,cAAc,cAAcC,QAAQ,OAAOC,QAAQ,QAAQY,QAAQnzB,KAAK,MAAMpT,MAAM,SAASqmC,MAAQ,qBAAqBP,OAAO,SAASL,cAAc,cAAcC,QAAQ,SAASC,QAAQ,UAAUa,WAAWpzB,KAAK,MAAMpT,MAAM,YAAYqmC,MAAQ,qBAAqBP,OAAO,YAAYL,cAAc,cAAcC,QAAQ,YAAYC,QAAQ,aAAac,eAAerzB,KAAK,MAAMpT,MAAM,gBAAgBqmC,MAAQ,qBAAqBP,OAAO,gBAAgBL,cAAc,cAAcC,QAAQ,gBAAgBC,QAAQ,iBAAiBe,WAAWtzB,KAAK,MAAMpT,MAAM,YAAYqmC,MAAQ,qBAAqBP,OAAO,YAAYL,cAAc,cAAcC,QAAQ,MAAMC,QAAQ,aAAagB,aAAavzB,KAAK,MAAMpT,MAAM,cAAcqmC,MAAQ,qBAAqBP,OAAO,cAAcL,cAAc,cAAcC,QAAQ,QAAQC,QAAQ,eAAeiB,WAAWxzB,KAAK,MAAMpT,MAAM,aAAaqmC,MAAQ,qBAAqBP,OAAO,aAAaL,cAAc,cAAcC,QAAQ,qBAAqBC,QAAQ,eAAekB,aAAazzB,KAAK,MAAMpT,MAAM,eAAeqmC,MAAQ,qBAAqBP,OAAO,eAAeL,cAAc,cAAcC,QAAQ,wBAAwBC,QAAQ,iBAAiBmB,YAAY1zB,KAAK,MAAMpT,MAAM,cAAcqmC,MAAQ,qBAAqBP,OAAO,cAAcL,cAAc,cAAcC,QAAQ,uBAAuBC,QAAQ,gBAAgBoB,cAAc3zB,KAAK,MAAMpT,MAAM,gBAAgBqmC,MAAQ,qBAAqBP,OAAO,gBAAgBL,cAAc,cAAcC,QAAQ,yBAAyBC,QAAQ,eAAeqB,aAAa5zB,KAAK,MAAMpT,MAAM,sBAAsBqmC,MAAQ,qBAAqBP,OAAO,UAAUL,cAAc,cAAcE,QAAQ,qBAAqBsB,eAAe7zB,KAAK,MAAMpT,MAAM,wBAAwBqmC,MAAQ,qBAAqBP,OAAO,UAAUL,cAAc,cAAcE,QAAQ,uBAAuBuB,SAAS9zB,KAAK,MAAMpT,MAAM,UAAUqmC,MAAQ,qBAAqBP,OAAO,UAAUL,cAAc,cAAcE,QAAQ,WAAWwB,QAAQ/zB,KAAK,MAAMpT,MAAM,SAASqmC,MAAQ,qBAAqBP,OAAO,SAASL,cAAc,cAAcE,QAAQ,UAAUyB,kBAAkBh0B,KAAK,MAAMpT,MAAM,oBAAoBqmC,MAAQ,qBAAqBP,OAAO,SAASL,cAAc,cAAcE,QAAQ,gBAAgB0B,MAAMj0B,KAAK,MAAMpT,MAAM,OAAOqmC,MAAQ,qBAAqBP,OAAO,OAAOL,cAAc,cAAcE,QAAQ,QAAQ2B,MAAMl0B,KAAK,MAAMpT,MAAM,OAAOqmC,MAAQ,qBAAqBP,OAAO,SAASL,cAAc,cAAcE,QAAQ,QAAQ4B,WAAWn0B,KAAK,MAAMpT,MAAM,aAAaqmC,MAAQ,qBAAqBP,OAAO,OAAOL,cAAc,cAAcI,eAAe,mCAAmCE,MAAM,0FAA0FV,iBAAiBjyB,KAAK,MAAMpT,MAAM,mBAAmBqmC,MAAQ,qBAAqBP,OAAO,cAAcL,cAAc,cAAcI,eAAe,+BAA+BE,MAAM,sFAAsFyB,OAAOp0B,KAAK,MAAMpT,MAAM,eAAeqmC,MAAQ,qBAAqBP,OAAO,YAAYL,cAAc,cAAcI,eAAe,iBAAiB4B,IAAIr0B,KAAK,MAAMpT,MAAM,yBAAyBqmC,MAAQ,qBAAqBP,OAAO,IAAIL,cAAc,cAAcE,QAAQ,wBAAwBtB,SAASjxB,KAAK,MAAMpT,MAAM,wBAAwBqmC,MAAQ,qBAAqBP,OAAO,MAAML,cAAc,cAAcI,eAAe,iCAAiCE,MAAM,8FAA8FzhC,MAAM8O,KAAK,MAAMpT,MAAM,mBAAmBqmC,MAAQ,qBAAqBP,OAAO,OAAOL,cAAc,cAAcI,eAAe,gBAAgB6B,QAAQt0B,KAAK,MAAMpT,MAAM,mBAAmBqmC,MAAQ,qBAAqBP,OAAO,eAAeL,cAAc,cAAcE,QAAQ,UAAUgC,OAAOv0B,KAAK,MAAMpT,MAAM,QAAQqmC,MAAQ,qBAAqBP,OAAO,QAAQL,cAAc,cAAcE,QAAQ,SAASiC,MAAMx0B,KAAK,SAASpT,MAAM,OAAOqmC,MAAQ,kBAAkB5E,MAAM,OAAOh/B,QAAQ,wBAAwBujC,OAAO,gBAAgBz6B,MAAM6H,KAAK,SAASpT,MAAM,OAAOqmC,MAAQ,kBAAkB5E,MAAM,WAAWh/B,QAAQ,qCAAqCujC,OAAO,gBAAgBnzB,QAAQO,KAAK,SAASpT,MAAM,QAAQqmC,MAAQ,kBAAkB5E,MAAM,YAAYh/B,QAAQ,kCAAkCujC,OAAO,iBAAkB,IAAInqB,GAAEN,EAAElc,QAAQkc,EAAElc,OAAOwoC,WAAYtsB,GAAEusB,QAAQvsB,EAAElc,QAAQkc,EAAElc,OAAOyoC,QAAQvsB,EAAElc,OAAOyoC,UAAUnlC,KAAK,eAAeolC,OAAO,OAAO,SAAS,YAAY,gBAAgB,YAAY,cAAc,YAAY,cAAc,aAAa,eAAe,OAAOplC,KAAK,YAAYolC,OAAO,cAAc,gBAAgB,UAAU,SAAS,OAAOplC,KAAK,QAAQolC,OAAO,mBAAmB,OAAO,OAAO,OAAOplC,KAAK,SAASolC,OAAO,YAAY,kBAAkB,OAAOplC,KAAK,QAAQolC,OAAO,QAAQ,KAAK,UAAU,OAAO,SAAS,OAAOplC,KAAK,QAAQolC,OAAO,QAAQ,OAAOplC,KAAK,UAAUolC,OAAO,OAAO,OAAO,WAAY,IAAI3Z,KAAKnoB,GAAE0Q,QAAQ4E,EAAEusB,QAAQ,SAASroB,EAAElD,GAAG,GAAIC,KAAKvW,GAAE0Q,QAAQ8I,EAAEsoB,MAAM,SAAS9hC,EAAEwZ,GAAG,GAAIlD,GAAEhB,EAAE4qB,aAAalgC,EAAGsW,KAAIA,EAAEhB,EAAElc,OAAO2oC,QAAQ/hC,IAAIpB,KAAK6S,KAAKkE,EAAEW,KAAKC,GAAG3X,KAAK6S,KAAK,yCAAyC8E,EAAEkF,KAAK,IAAI,WAAW0M,EAAG,IAAI5S,GAAEiE,EAAEjY,QAAQ,YAAY4mB,EAAE1M,KAAK,IAAKlG,GAAEA,EAAEhU,QAAQ,iBAAiBiU,EAAEwsB,cAAc,IAAIjoB,EAAE1B,KAAK9C,GAAG4E,EAAEJ,EAAEkoB,YAAY3sB,GAAGA,EAAE4sB,YAAY,SAASliC,EAAEwZ,GAAG,OAAOxZ,GAAG,IAAI,OAAOsV,EAAE2qB,YAAYI,MAAM/qB,EAAE2qB,YAAYI,IAAK,MAAM,KAAI,SAAS/qB,EAAE2qB,YAAYK,QAAQhrB,EAAE2qB,YAAYK,MAAO,MAAM,KAAI,YAAYhrB,EAAE2qB,YAAYM,WAAWjrB,EAAE2qB,YAAYM,SAAU,MAAM,KAAI,gBAAgBjrB,EAAE2qB,YAAYO,eAAelrB,EAAE2qB,YAAYO,aAAc,MAAM,KAAI,YAAYlrB,EAAE2qB,YAAYkC,KAAK7sB,EAAE2qB,YAAYkC,GAAI,MAAM,KAAI,cAAc7sB,EAAE2qB,YAAY,OAAU3qB,EAAE2qB,YAAY,KAAS,MAAM,KAAI,cAAc3qB,EAAE2qB,YAAYmC,UAAU,MAAO,MAAM,KAAI,gBAAgB9sB,EAAE2qB,YAAYmC,UAAU,QAAS,MAAM,KAAI,eAAe9sB,EAAE2qB,YAAYmC,UAAU,OAAQ,MAAM,KAAI,cAAc9sB,EAAE2qB,YAAYmC,UAAU,UAAU9sB,EAAE3B,WAAW,eAAe+rB,QAAQ1/B,EAAEqiC,IAAI7oB,KAAKlE,EAAEgtB,OAAO,UAAU,QAAQ,cAAc,eAAe,cAAc,iBAAiB,gBAAgB,UAAU,SAAS,SAAS,QAAQ,kBAAkB,WAAW,gBAAgBhtB,EAAEitB,WAAW,WAAWjtB,EAAE4sB,YAAY,WAAW5sB,EAAEqsB,OAAOrsB,EAAEktB,YAAY39B,IAAI,EAAEnI,KAAK,YAAYmI,IAAI,EAAEnI,KAAK,UAAUmI,IAAI,EAAEnI,KAAK,WAAWmI,IAAI,EAAEnI,KAAK,UAAUmI,IAAI,EAAEnI,KAAK,YAAYmI,IAAI,EAAEnI,KAAK,aAAamI,IAAI,EAAEnI,KAAK,cAAc4Y,EAAEmtB,aAAaC,GAAG,EAAEvd,GAAG,EAAEwd,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEzd,GAAG,EAAE0d,GAAG,GAAGxtB,EAAEytB,WAAW,WAAWztB,EAAE4sB,YAAY,WAAW5sB,EAAE0tB,WAAW1tB,EAAE2tB,SAASvmC,KAAK,YAAYmI,IAAI,QAAQnI,KAAK,WAAWmI,IAAI,SAASnI,KAAK,WAAWmI,IAAI,SAASnI,KAAK,WAAWmI,IAAI,SAASnI,KAAK,WAAWmI,IAAI,SAASnI,KAAK,WAAWmI,IAAI,SAASnI,KAAK,WAAWmI,IAAI,SAASyQ,EAAE4tB,YAAY,WAAW5tB,EAAE4sB,YAAY,cAAc5sB,EAAE6tB,YAAY7tB,EAAE8tB,gBAAe,EAAG9tB,EAAE+tB,aAAa,SAASrjC,GAAGsV,EAAE4sB,YAAY,YAAYliC,IAAIsV,EAAEguB,cAAa,EAAGhuB,EAAEiuB,WAAW,SAASvjC,GAAGsV,EAAE4sB,YAAY,cAAcliC,IAAIsV,EAAEkuB,eAAc,EAAGluB,EAAEmuB,eAAe,SAASzjC,GAAG4L,EAAE5L,IAAIsV,EAAEouB,WAAW,WAAW,GAAG7pB,IAAI,MAAMnE,EAAEiuB,eAAeC,UAAU,CAAC,GAAIpqB,GAAElD,EAAEutB,4BAA4BnuB,GAAE,GAAIa,EAAE,SAAU,IAAGiD,GAAG,KAAKA,EAAE2F,SAAS,CAAC5I,EAAEiD,EAAEhJ,IAAK,IAAI2F,GAAEmS,EAAEwb,aAAc3tB,GAAE4tB,SAASvqB,EAAEykB,WAAW,GAAG9nB,EAAE6tB,OAAOxqB,EAAEykB,WAAWzkB,EAAEykB,WAAWhgC,OAAQ,IAAIkc,GAAEzE,EAAEiuB,cAAexpB,GAAE8pB,kBAAkB9pB,EAAE+pB,SAAS/tB,GAAG,GAAI4D,EAAEA,GAAEzE,EAAE6uB,KAAK7uB,EAAE6uB,IAAIT,YAAY1jC,EAAEoQ,WAAWkF,EAAE6uB,IAAIT,YAAYpuB,EAAE6uB,IAAIT,WAAWnwB,MAAM+B,EAAE6uB,IAAI5lC,OAAO,MAAMgY,IAAI6tB,OAAO,uBAAuB,WAAWriC,EAAEorB,KAAKpT,GAAG1e,KAAK,SAAS2E,GAAGsV,EAAE4sB,YAAY,aAAaliC,OAAOsV,EAAE+uB,YAAY,WAAW,GAAI7qB,EAAElE,GAAE6uB,KAAK7uB,EAAE6uB,IAAIE,aAAarkC,EAAEoQ,WAAWkF,EAAE6uB,IAAIE,aAAa7qB,EAAElE,EAAE6uB,IAAIE,YAAY9wB,MAAM+B,EAAE6uB,IAAI5lC,OAAO,OAAOib,EAAE4qB,OAAO,+BAA+B,WAAW5qB,EAAE,aAAaA,EAAE,MAAMzX,EAAEorB,KAAK3T,GAAGne,KAAK,SAAS2E,GAAG4L,EAAE5L,MAAM+Z,EAAEne,MAAM,WAAW,QAASoE,GAAEwZ,GAAG,GAAGA,EAAEskB,WAAWtkB,EAAEukB,aAAa,eAAe,MAAMvkB,EAAEwkB,aAAa,KAAM,KAAI,GAAI1nB,GAAEkD,EAAEykB,WAAW3nB,GAAGtW,EAAEsW,GAAGA,EAAEA,EAAE4nB,YAAY,IAAI,GAAI1kB,GAAE,EAAEA,EAAEra,SAASg/B,uBAAuB,qBAAqBlgC,OAAOub,GAAG,EAAExZ,EAAEb,SAASg/B,uBAAuB,qBAAqB3kB,MAAMlE,EAAEpZ,IAAI,kBAAkB,SAAS8D,EAAEwZ,GAAGlE,EAAE2qB,YAAYzmB,EAAElE,EAAEqsB,KAAKnoB,EAAEmoB,KAAKpgC,QAAQ,OAAO,IAAI+T,EAAE0tB,SAAS1tB,EAAEmtB,YAAYjpB,EAAElU,MAAMgQ,EAAEmtB,YAAYjpB,EAAElU,MAAM,IAAK,QAAOjH,KAAK0b,EAAExb,OAAOwwB,QAAQ,IAAIoV,IAAI,IAAI/qC,OAAO,KAAKgF,SAAS,KAAKmD,SAAQ,MAAOvB,EAAE7G,OAAO,aAAa+E,UAAU,mBAAmB,kBAAkB,WAAW,aAAa,WAAW,WAAW,YAAY,SAASsb,EAAElD,EAAEC,EAAEJ,EAAEgE,EAAE7E,GAAG,GAAIvT,GAAE,SAASoU,EAAEpU,EAAEgY,EAAEvE,GAAG,GAAIC,GAAE1T,EAAE,GAAGw9B,eAAgB9pB,GAAE6U,OAAO7U,EAAE6uB,MAAM,iFAAiF7uB,EAAE+C,QAAQ/C,EAAE8uB,WAAW,KAAK/qB,EAAEulB,MAAM5oB,EAAEV,EAAG,IAAIoE,GAAE7Z,EAAE/C,QAAQ8E,EAAE,GAAGw9B,gBAAgBiF,MAAM54B,EAAE5L,EAAE/C,QAAQ8E,EAAE,GAAGw9B,gBAAgBkF,KAAM5qB,GAAEva,KAAK,kBAAkB,QAAQmW,EAAE+oB,iBAAiB,QAAQ,SAASx+B,GAAG,SAASA,EAAEkC,OAAO0zB,SAAS51B,EAAEkC,OAAOkQ,cAAc,QAAQpT,QAAQmX,EAAE0O,MAAMtO,EAAEinB,gBAAgBx9B,EAAEkC,UAAU6X,EAAEioB,cAAcp2B,EAAE0M,OAAO,gDAAgDyB,EAAEioB,aAAa,MAAMxsB,EAAEtU,QAAQ,WAAW2Y,EAAE,GAAGylB,UAAU9pB,EAAEyO,WAAW9N,EAAE/c,QAAQ+c,EAAE/c,OAAOsrC,SAASpvB,EAAEE,EAAEyO,YAAYzO,EAAEyO,WAAW,IAAI9N,EAAEwuB,KAAK,WAAWxuB,EAAEsc,WAAW,SAASzyB,GAAGwV,EAAE4D,cAAcS,EAAExB,UAAW,IAAI1C,GAAE,IAAKkE,GAAExc,KAAK,2BAA2B,WAAWsY,GAAGwE,EAAEpS,OAAO4N,GAAGA,EAAEwE,EAAE,WAAW,GAAIna,GAAE6Z,EAAE,GAAG+qB,cAAcprB,EAAExZ,EAAEoS,cAAc,sBAAsBmE,EAAEsD,EAAE,GAAGylB,SAAU9lB,KAAIjD,EAAEA,EAAEhV,QAAQiY,EAAEqrB,UAAU,KAAKrvB,EAAE4D,cAAc7C,EAAG,IAAI4D,GAAE7D,EAAEutB,4BAA4B9hC,EAAE,GAAG+iC,eAAc,EAAI,IAAG3qB,EAAE,CAAC,GAAI7E,GAAEvT,EAAE,GAAG+iC,cAAcvlB,iBAAiBpF,GAAGJ,GAAGsmB,KAAK,QAAQ/qB,EAAEwpB,iBAAiB,gBAAgB79B,SAASqU,EAAEwpB,iBAAiB,iBAAiB,IAAIwB,OAAO,UAAUhrB,EAAEwpB,iBAAiB,cAAcyB,UAAU,aAAajrB,EAAEwpB,iBAAiB,mBAAmB0B,cAAc,gBAAgBlrB,EAAEwpB,iBAAiB,mBAAmB6C,KAAKrsB,EAAEwpB,iBAAiB,eAAex5B,KAAKrE,SAASqU,EAAEwpB,iBAAiB,cAAcjE,MAAMvlB,EAAEwpB,iBAAiB,SAASqD,IAAI,OAAO7sB,EAAEwpB,iBAAiB,kBAAkBiG,MAAQ,SAASzvB,EAAEwpB,iBAAiB,kBAAkBlE,WAAWtlB,EAAEwpB,iBAAiB,oBAAoBsD,UAAU9sB,EAAEwpB,iBAAiB,cAAe3oB,GAAE0O,MAAM,kBAAkB9K,KAAK,KAAI,KAAM5D,EAAEqe,MAAM,KAAKre,EAAEwtB,aAAa,WAAW,GAAGluB,EAAEkuB,aAAa,CAAC,GAAI3jC,GAAEyV,EAAEkuB,cAAe3jC,GAAEglC,YAAYhlC,EAAEilC,aAAa9uB,EAAEqe,MAAMx0B,EAAEglC,WAAW,MAAM7uB,EAAE+uB,iBAAiB,WAAW,GAAG/uB,EAAEqe,OAAO/e,EAAEkuB,aAAa,CAAC,GAAI3jC,GAAEyV,EAAEkuB,cAAe3jC,GAAEikC,kBAAkBjkC,EAAEkkC,SAAS/tB,EAAEqe,SAASre,EAAEja,IAAI,cAAc,SAAS8D,EAAEwZ,GAAGhc,QAAQC,IAAI,iBAAiBD,QAAQC,IAAI+b,GAAGzX,EAAE,GAAGw9B,gBAAgBiF,KAAKxlC,OAAQ,IAAIsX,GAAEb,EAAE0vB,SAAU,IAAG7uB,EAAE,CAAC,GAAIC,GAAED,EAAEwtB,aAAcruB,GAAEysB,YAAY1oB,EAAEkmB,QAAQ,EAAElmB,EAAE6oB,KAAK9rB,EAAE6uB,UAAS,GAAI7uB,EAAE1X,aAAc4W,GAAEysB,YAAY1oB,EAAEkmB,QAAQ,EAAElmB,EAAE6oB,IAAK5sB,GAAE+uB,KAAKxlC,QAAQmX,EAAEwuB,SAASxuB,EAAEja,IAAI,gBAAgB,SAAS8D,EAAEwZ,GAAG,GAAIlD,GAAEC,CAAE,IAAGd,EAAEupB,YAAY2E,cAAc,GAAGrtB,EAAEb,EAAEupB,YAAY2E,eAAertB,EAAE0uB,YAAY1uB,EAAE2uB,WAAW,CAAC1uB,EAAED,EAAE0uB,WAAW,GAAGzuB,EAAE8uB,gBAAiB,IAAIlrB,GAAE1E,EAAEwpB,cAAc,MAAO9kB,GAAEmlB,UAAU9lB,CAAE,KAAI,GAAIlE,GAAEvT,EAAEgY,EAAEtE,EAAE6vB,yBAAyBhwB,EAAE6E,EAAE8jB,YAAYl8B,EAAEgY,EAAE8kB,YAAYvpB,EAAGyE,GAAEkkB,WAAW1nB,EAAEgvB,WAAWxrB,GAAGhY,IAAIwU,EAAEA,EAAEivB,aAAajvB,EAAEkvB,cAAc1jC,GAAGwU,EAAE6uB,UAAS,GAAI9uB,EAAE2tB,kBAAkB3tB,EAAE4tB,SAAS3tB,SAAUd,GAAE0vB,WAAW,WAAW1vB,EAAE0vB,UAAUh4B,MAAMsI,EAAE0vB,UAAUrB,cAAc4B,UAAUlsB,EAAGrD,GAAEwuB,SAASxuB,EAAEja,IAAI,WAAW,aAAc,KAAIuZ,EAAEysB,YAAY,eAAe,EAAE,GAAGzsB,EAAEysB,YAAY,wBAAuB,EAAG,SAASzsB,EAAEysB,YAAY,kBAAkB,EAAE,SAAS,MAAM9rB,GAAG,IAAIX,EAAEysB,YAAY,SAAS,EAAE,GAAG,MAAM9rB,MAAO,QAAO/X,KAAK0D,EAAE5B,QAAQ,UAAU5B,OAAOnF,OAAO,oBAAoBmI,SAAQ,EAAGnD,SAAS,SAAS4B,EAAE7G,OAAO,aAAa+E,UAAU,gBAAgB,YAAY,SAAS8B,GAAG,MAAO,UAASwZ,EAAElD,GAAG,GAAIC,GAAEvW,EAAE,GAAGmW,EAAEG,EAAE,GAAG6D,EAAE5D,EAAE0oB,cAAc,OAAQ9kB,GAAE+kB,UAAU,UAAU/oB,EAAE0oB,YAAY1kB,GAAGA,EAAEqkB,iBAAiB,YAAY,WAAW,QAASx+B,GAAEA,GAAGA,EAAEvD,gBAAiB,IAAI+c,GAAExZ,EAAEy+B,KAAMz+B,GAAE2lC,MAAMpvB,EAAEyoB,cAAcxlB,EAAExZ,EAAEy+B,MAAMz+B,EAAE2lC,KAAKC,aAAa7kB,wBAAwBX,IAAI7J,EAAEyoB,YAAYhe,YAAa,IAAI1K,GAAEkD,GAAGrD,EAAE4K,wBAAwBX,IAAI7J,EAAEyoB,YAAYhe,aAAa7G,EAAEhE,EAAEmoB,MAAMtoB,OAAOzU,QAAQ,KAAK,GAAI4Y,IAAG7D,EAAE6D,GAAGsR,OAAOkT,YAAY3+B,EAAE0+B,SAAS,IAAInoB,EAAEyoB,YAAY6G,SAAS,EAAEvvB,EAAE6D,GAAGhE,EAAEmoB,MAAMtoB,OAAOM,EAAE,KAAK,QAASkD,KAAIjD,EAAEgoB,oBAAoB,YAAYv+B,GAAGuW,EAAEgoB,oBAAoB,UAAU/kB,EAAG,KAAI,GAAIlD,GAAEC,EAAE6Y,iBAAiB,UAAUjZ,EAAE,EAAEA,EAAEG,EAAErY,OAAOkY,IAAIG,EAAEH,GAAG2uB,cAAc3lC,SAASo/B,oBAAoB,UAAU/kB,GAAGlD,EAAEH,GAAG2uB,cAAc3lC,SAASo/B,oBAAoB,YAAYv+B,GAAGuW,EAAEioB,iBAAiB,YAAYx+B,GAAGuW,EAAEioB,iBAAiB,UAAUhlB,EAAG,KAAI,GAAIlD,GAAEC,EAAE6Y,iBAAiB,UAAUjV,EAAE,EAAEA,EAAE7D,EAAErY,OAAOkc,IAAI7D,EAAE6D,GAAG2qB,cAAc3lC,SAASq/B,iBAAiB,UAAUhlB,GAAGlD,EAAE6D,GAAG2qB,cAAc3lC,SAASq/B,iBAAiB,YAAYx+B,SAASA,EAAE7G,OAAO,aAAakL,QAAQ,YAAY,WAAW,GAAIrE,GAAEpB,IAAKoB,GAAE6jC,4BAA4B,SAAS7jC,EAAEwZ,GAAG,GAAIlD,GAAEC,EAAEJ,EAAE,KAAKgE,EAAEna,EAAEb,QAAS,OAAOgb,GAAEgrB,WAAW7uB,EAAE6D,EAAEgrB,UAAUrB,cAAcxtB,EAAE8uB,SAAS5rB,GAAGlD,EAAE4J,kBAAkB/F,EAAEwpB,cAAcptB,EAAE4D,EAAEwpB,eAAeptB,EAAE0uB,WAAW,IAAI3uB,EAAEC,EAAEyuB,WAAW,GAAG7uB,EAAEG,EAAEkD,EAAE,iBAAiB,gBAAgB,IAAIrD,EAAE2nB,WAAW3nB,EAAEA,EAAE+lB,cAAcl8B,EAAE2jC,eAAeptB,EAAEvW,EAAE2jC,eAAeptB,EAAE0uB,WAAW,IAAI3uB,EAAEC,EAAEyuB,WAAW,GAAG7uB,EAAEG,EAAEkD,EAAE,iBAAiB,gBAAgB,IAAIrD,EAAE2nB,WAAW3nB,EAAEA,EAAE+lB,cAAc/lB,OAAO,aACl9oB,IAAIld,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,qBAAA,SAAA,aAAA,UAAA,cAAA,SAAA8H,EAAApH,EAAA4J,EAAAqJ,GAEX7L,EAAOgkC,WACHvnC,MAAOuD,GAGXA,EAAOikC,cACHrB,UAAU,EACV9C,aAAa,EACbC,UACHnlC,KAAM,eAAgBolC,OAAQ,OAAQ,SAAU,YAAa,gBAAiB,IAAK,YAAa,cAAe,aAAc,eAAgB,OAC7IplC,KAAM,YAAaolC,MAAOpnC,EAAWqC,WAAe,cAAe,gBAAiB,UAAW,SAAU,OACzGL,KAAM,QAASolC,MAAOpnC,EAAWqC,WAAe,mBAAoB,OAAQ,OAAQ,OACpFL,KAAM,SAAUolC,OAAQ,YAAa,kBAAmB,OACxDplC,KAAM,QAASolC,MAAOpnC,EAAWqC,WAAe,QAAS,KAAM,UAAW,OAAQ,SAAU,OAC5FL,KAAM,QAASolC,OAAQ,QAAS,OAChCplC,KAAM,UAAWolC,OAAQ,OAAQ,WAIlChgC,EAAOkkC,SAEPlkC,EAAOmkC,WAAa,WACZnkC,EAAOokC,UAAYpkC,EAAOqkC,UAE9Bx4B,EAAYzD,wBAAwBpI,EAAOskC,QAAStkC,EAAOokC,SAAS7qC,KAAK,SAAU4Q,GAC3E3H,EAAQa,OAAO,SAAU,8BAOzClM,IAAIgG,QAAQ,iBAAA,aAAA,QAAA,SAAAvE,EAAAG,GACR,GAAIwJ,KAsBJ,OApBAA,GAAQ4hC,WAAa,SAAUG,EAASF,EAAS7yB,GAC7CxY,EAAMO,IAAIV,EAAW2rC,OAAS,6BAA+BD,EAAU,YAAcF,GAAS7qC,KAAK,SAAyB4Q,GACxH,GAAIq6B,IAAc/gC,OAAO,EAAOhK,KAAM0Q,EAAS1Q,KAC/C8X,GAASizB,IACV,SAAuBr6B,GACtB,GAAIq6B,IAAc/gC,OAAO,EAAMhK,KAAM0Q,EAAS1Q,KAAK2R,QACnDmG,GAASizB,MAIjBjiC,EAAQkiC,WAAa,SAAUlzB,GAC3BxY,EAAMO,IAAIV,EAAW2rC,OAAS,qBAAqBhrC,KAAK,SAAyB4Q,GAC7E,GAAIq6B,IAAc/gC,OAAO,EAAOhK,KAAM0Q,EAAS1Q,KAC/C8X,GAASizB,IACV,SAAuBr6B,GACtB,GAAIq6B,IAAc/gC,OAAO,EAAMhK,KAAM0Q,EAAS1Q,KAAK2R,QACnDmG,GAASizB,MAIVjiC,KAEXnL,QAAQC,OAAO,OAAOa,WAAW,mBAAA,aAAA,eAAA,oBAAA,OAAA,SAAAU,EAAAS,EAAAw0B,EAAAp0B,GAQ7B,QAASU,KACLuqC,EAAGz4B,MAAQxS,EAAKwS,MAChBy4B,EAAGC,YAAclrC,EAAKkrC,YAT1B,GAAID,IACAhuB,MAAO,WACHmX,EAAkB1C,QAAQ,aAWlC,OADAhxB,KACOuqC,KAGXttC,QAAQC,OAAO,OAAOkL,QAAQ,gBAAA,cAAA,aAAA,YAAA,UAAA,WAAA,aAAA,SAAAsJ,EAAAjT,EAAAgsC,EAAApiC,EAAAxF,EAAA5D,GAC1B,GAAI0I,IAEAmK,SAEA9R,KAAM,WACF,IAAI2H,EAAK+iC,YAAT,CACA/iC,EAAK+iC,aAAc,CACnB,IAAIC,GAAQF,EAAU,WAClBlpC,QAAQC,IAAI,wBACR/C,EAAW+J,UAAYvJ,EAAWc,QAAQW,kBAC1C+pC,EAAU3+B,OAAO6+B,GACjBhjC,EAAK7H,OACL6H,EAAKsS,UAEV,OAEPna,KAAM,WACF4R,EAAYhD,WAAWtP,KAAK,SAAU4R,GAClCrJ,EAAKmK,MAAQd,EAAI45B,MAAM,GACvBjjC,EAAK6iC,YAAcx5B,EAAI65B,UAG/B5wB,MAAO,WAECxb,EAAWtB,OAAO2U,MAAMg5B,OAExBjoC,EAAS,WACLtB,QAAQC,IAAI,qBACe,IAAvBmG,EAAKmK,MAAMi5B,SACXpjC,EAAKoK,OAELpK,EAAKmK,MAAMk5B,iBACXzpC,QAAQC,IAAI,sBACZmG,EAAK2W,SAAWmsB,EAAU,WAClB9iC,EAAKmK,MAAMi5B,QAAU,EACrBN,EAAU3+B,OAAOnE,EAAK2W,UAEtB3W,EAAKoK,OAETpK,EAAK7H,QAC8B,IAApCrB,EAAWtB,OAAO2U,MAAMm5B,aAEhC,MAGXC,KAAM,WACEvjC,EAAK2W,UACLmsB,EAAU3+B,OAAOnE,EAAK2W,UAC1B3W,EAAKmK,SACLnK,EAAK6iC,YAAc5oC,OACnB+F,EAAK+iC,aAAc,GAEvBI,MAAO,WACwB,IAAvBnjC,EAAKmK,MAAMi5B,SACXpjC,EAAKoK,QAEbA,KAAM,WACF,GAAIpK,EAAKwjC,cAAe,EAAxB,CACAxjC,EAAKwjC,YAAa,CAClB,IAAI7rC,IAASwS,MAAOnK,EAAKmK,MAAO04B,YAAa7iC,EAAK6iC,YAClDniC,GAAQkB,OAAO,+BAAgC,kBAAmBjK,GAC5D8J,YAAa,iBAAkBC,KAAM,MAAQ,MAAMkN,OAAO1G,QAAQ,WAAclI,EAAKwjC,YAAa,MAGhH,OAAOxjC,KAEX,IAAI3K,KAAMC,QAAQC,OAAO,MACzBF,KAAIe,WAAW,0BAAA,SAAA,aAAA,UAAA,SAAA,gBAAA,UAAA,YAAA,OAAA,cAAA,YAAA,UAAA,aAAA,SAAA8H,EAAApH,EAAAmG,EAAAjG,EAAAysC,EAAAtsC,EAAAusC,EAAAr4B,EAAAtB,EAAA7S,EAAAwJ,EAAApJ,GAoYX,QAASe,KACL6F,EAAOhG,SAAWZ,EAAWY,SAAS4K,OAnY1C5E,EAAO2J,SAAU,EACjB3J,EAAO8K,OAAS,eAChB9K,EAAOylC,MAAQ,WACXzlC,EAAO0lC,OAAOlY,QAAS,GAE3BxtB,EAAO0lC,QAAWlY,QAAQ,GAC1BxtB,EAAO2lC,aACHtlB,WAAY,KACZe,YAAa,GAEjBphB,EAAOilB,iBAAmB,cAC1BjlB,EAAO4lC,MAAQ,WACX5lC,EAAO6lC,GAAK,GAAIznC,OAEpB4B,EAAO4lC,QACP5lC,EAAO4C,MAAQ,WACX5C,EAAO6lC,GAAK,MAOhB7lC,EAAOkkC,SACPlkC,EAAO8lC,cACP9lC,EAAO+lC,WACP,IAAIC,MACAC,GAAU,CACdjmC,GAAOlE,QAAU,WAAc,MAAO9C,GAAU8C,WAMhDkE,EAAOkmC,YAAc,WACjBlmC,EAAOrI,OAASqI,EAAOrI,OAG3BqI,EAAOmmC,YAAc,SAASxpC,EAAKkN,GAE3BA,IAAa7J,EAAO2J,SAAU,IAGtC3J,EAAOomC,WAAa,WAChBv6B,EAAYtG,cAAchM,KAAK,SAAUE,GACrCuG,EAAOiE,QAAUxK,EACjBb,EAAWytC,eAAiBrmC,EAAOiE,QAAQ,GAC3CjE,EAAOsmC,UAAS,MAIxBtmC,EAAOumC,aAAe,SAASC,GAC3B5tC,EAAWytC,eAAiBG,EAC5BxmC,EAAOsmC,UAAS,IAGpBtmC,EAAOsmC,SAAW,SAAUG,GACxBzmC,EAAO0mC,WAAa3nC,EAAQ,QAAQiB,EAAO6lC,GAAI,cAC/Ch6B,EAAYrG,YAAYxF,EAAO0mC,WAAY1mC,EAAOqmC,eAAeM,SAAU3mC,EAAOqmC,eAAeO,UAAUrtC,KAAK,SAAUE,GACtHuG,EAAO6mC,MAAQptC,EAAKqtC,aACpB9mC,EAAO+mC,YAAYN,GACfhtC,EAAKutC,WACLhnC,EAAO+lC,SAASp2B,MAAOs3B,OAAQ,cAAe57B,KAAM,UAAW67B,UAAWztC,EAAK0tC,YAI3FnnC,EAAOonC,UAAY,SAAShqC,GACxB,OAAQA,GACR,IAAK,GACD,MAAO,uBACX,KAAK,GACD,MAAO,YACX,KAAK,GACD,MAAO,YACX,KAAK,GACD,MAAO,WACX,KAAK,GACG,MAAO,WACf,SACI,MAAO,iBAIf4C,EAAO+mC,YAAc,SAASN,GAC1B,GAAIY,KACJjwC,SAAQwX,QAAQ5O,EAAO6mC,MAAO,SAASn/B,EAAM2M,GACzC,GAAI1E,IAAO,EACPk2B,EAAK,GAAIznC,KACb,QAAQ4B,EAAOsnC,OACf,IAAK,IACD33B,GAAO,CACP,MACJ,KAAK,IACD,GAAI43B,GAAW,GAAInpC,MAAKA,KAAKopC,IAAI3B,EAAGrrB,cAAeqrB,EAAGnrB,WAAYmrB,EAAG9qB,UAAW8qB,EAAGlqB,WAAYkqB,EAAG7rB,aAAe,GAAI6rB,EAAGjqB,eAAe6rB,UACnH,MAAf//B,EAAKgD,QAAkC,IAAhBhD,EAAKgD,SAAiBhD,EAAKouB,MAAQyR,IAAU53B,GAAO,EAChF,MACJ,KAAK,IACOjI,EAAKgD,OAAS,GAAKhD,EAAKgD,QAAU,IAAGiF,GAAO,EACpD,MACJ,KAAK,IACD,GAAI+3B,GAAU,GAAItpC,MAAKA,KAAKopC,IAAI3B,EAAGrrB,cAAeqrB,EAAGnrB,WAAYmrB,EAAG9qB,UAAW8qB,EAAGlqB,WAAYkqB,EAAG7rB,aAAe,GAAI6rB,EAAGjqB,eAAe6rB,QAClI//B,GAAKgD,OAAS,GAAKhD,EAAKgD,QAAU,GAAKhD,EAAKouB,MAAQ4R,IAAS/3B,GAAO,GAGxEA,GACA03B,EAAS13B,KAAKjI,KAGtB1H,EAAO2nC,UAAYN,CAEnB,IAAIjlC,GAAOpJ,EAAUgJ,aACrBI,GAAKjK,SAAW6H,EAAOsnC,MACvBtuC,EAAUkJ,eAAeE,GAEtBqkC,GACCzmC,EAAO4nC,WAAW5nC,EAAO2nC,UAAU,IACvC1B,GAAU,GAGdjmC,EAAO4nC,WAAa,SAAUl0B,GAe1B,GAbA1T,EAAOrI,OAAQ,EAEfqI,EAAO6nC,KAAOzwC,QAAQwN,KAAK5E,EAAO8lC,YAElC9lC,EAAO8lC,WAAapyB,EAEpB1T,EAAO6nC,KAAOzwC,QAAQwN,KAAK8O,GAEH,MAArB1T,EAAOkkC,MAAM4D,QACZ9nC,EAAOkkC,MAAM4D,OAAOC,eAIP,MAAb/nC,EAAO6nC,KACP,GAAiC,MAA7B7nC,EAAO6nC,KAAKG,cACZhoC,EAAOioC,gBAAiB,EACxBjoC,EAAOkoC,aAAe,GAEtBloC,EAAOmoC,QAAS,EACZnC,EAAa5tC,YACb4H,EAAO6nC,KAAKzvC,UAAY4tC,EAAa5tC,UACrC4H,EAAO6nC,KAAKjtC,KAAOorC,EAAaprC,KAChCoF,EAAO6nC,KAAKO,SAAWpC,EAAaoC,SACpCpoC,EAAO6nC,KAAKQ,eAAiBrC,EAAaqC,eAC1CroC,EAAO6nC,KAAKS,MAAQtC,EAAasC,MACjCtoC,EAAO6nC,KAAKU,cAAgBvC,EAAauC,cACzCvoC,EAAO6nC,KAAKW,YAAcxC,EAAawC,YACvCxoC,EAAO6nC,KAAKY,IAAMzC,EAAayC,IAC/BzoC,EAAO6nC,KAAKa,KAAO1C,EAAa0C,UAMpC,QAFA1oC,EAAOioC,gBAAiB,EACxBjoC,EAAOmoC,QAAS,EACRnoC,EAAO6nC,KAAKn9B,QACpB,IAAK,GACD1K,EAAOkoC,aAAe,EACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,aACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,WACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,cACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,cACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,aACtB,MACJ,KAAK,GACDloC,EAAOkoC,aAAe,aACtB,MACJ,SACIloC,EAAOkoC,aAAe,OAK9BloC,GAAOioC,gBAAiB,EACxBjoC,EAAOkoC,aAAe,EAE1B3C,GAAc,YAGlBvlC,EAAO2oC,aAAgBvrC,GAAI,EAAGxC,KAAM,eAAkBwC,GAAI,EAAGxC,KAAM,kBAAqBwC,GAAI,EAAGxC,KAAM,aAAgBwC,GAAI,EAAGxC,KAAM,cAAiBwC,GAAI,EAAGxC,KAAM,aAAgBwC,GAAI,EAAGxC,KAAM,cAAiBwC,GAAI,EAAGxC,KAAM,UAI3NoF,EAAO4oC,YAAc,SAASxrC,GAC1B,MAAIA,GAAW,cAEJ,IAGf4C,EAAO6oC,aAAe,WAClB7oC,EAAO8oC,UAAY/pC,EAAQ,QAAQiB,EAAO6lC,GAAI,sBAC9C,IAAInyB,IACA/M,UAAW3G,EAAOqmC,eAAeM,SACjCoC,QAAS/oC,EAAOqmC,eAAeO,SAC/B9Q,KAAM/2B,EAAQ,QAAQiB,EAAO6lC,GAAI,uBACjCn7B,OAAQ,EAER+9B,IAAK,GACL7tC,KAAM,GACNwtC,SAAU,GACVY,eAAgB,GAEhBV,MAAO,GACPC,cAAe,GACfU,WAAY,QACZC,OAAO,EAEXlpC,GAAO4nC,WAAWl0B,IAGtB1T,EAAOmpC,QAAU,WACb,GAAKnpC,EAAOkkC,MAAM4D,OAAOsB,QAA+B,IAArBppC,EAAO6nC,KAAKn9B,OAA/C,CAGA,GAAI2+B,IAAQ,CAEqB,OAA7BrpC,EAAO6nC,KAAKG,gBACZhoC,EAAO6nC,KAAKG,eAAgB,EACD,IAAvBhoC,EAAO6nC,KAAKn9B,SACZ1K,EAAO6nC,KAAKn9B,OAAS,GACzB1K,EAAO6nC,KAAKyB,GAAK,GACjBD,GAAQ,GAERrpC,EAAO6nC,KAAKqB,QACZlpC,EAAO6nC,KAAK/R,KAAO/2B,EAAQ,QAAQiB,EAAO8oC,UAAW,uBAEzD,IAAIrvC,IAEIuuC,cAAehoC,EAAO6nC,KAAKG,cAC3BrhC,UAAW3G,EAAO6nC,KAAKlhC,UACvBoiC,QAAS/oC,EAAO6nC,KAAKkB,QACrBtjC,KAAMzF,EAAO6nC,KAAK/R,KAClBprB,OAAQ1K,EAAO6nC,KAAKn9B,OACpB6+B,WAAavpC,EAAO6nC,KAAK0B,WACzBf,YAAaxoC,EAAO6nC,KAAKW,YACzBC,IAAKzoC,EAAO6nC,KAAKY,IACjB7tC,KAAMoF,EAAO6nC,KAAKjtC,KAClBwtC,SAAUpoC,EAAO6nC,KAAKO,SACtBC,eAAgBroC,EAAO6nC,KAAKQ,eAE5BjwC,UAAW4H,EAAO6nC,KAAKzvC,UACvBkwC,MAAOtoC,EAAO6nC,KAAKS,MACnBC,cAAevoC,EAAO6nC,KAAKU,cAC3Be,GAAItpC,EAAO6nC,KAAKyB,IAGpBvjC,EAAO,CAEP/F,GAAOmoC,SACPpiC,EAAO,EAIX,IAAIyjC,GAAS,CACTxpC,GAAO6nC,KAAKG,cAAgB,IAAGwB,EAAS,GAC5C39B,EAAYjG,SAASnM,EAAM+vC,EAAQzjC,GAAMxM,KAAK,SAAUE,GACpDuG,EAAO6nC,KAAKG,cAAgBvuC,EAAKoM,KAAKmiC,cACtChoC,EAAO6nC,KAAKn9B,OAASjR,EAAKoM,KAAK6E,OAC/B1K,EAAO6nC,KAAKoB,WAAa,WACzBjpC,EAAOkoC,aAAe,YACtBloC,EAAOioC,gBAAiB,EACxBjoC,EAAOkkC,MAAM4D,OAAOC,eACpB/nC,EAAO8lC,WAAarsC,EAAKoM,KACzB7F,EAAOsmC,UAAS,GACZ+C,GACArpC,EAAO+lC,SAASp2B,MAAOs3B,OAAQ,kBAAmB57B,KAAM,UAAW67B,UAAW,KAC9ElB,MAGAhmC,EAAO+lC,SAASp2B,MAAOs3B,OAAQ,sBAAuB57B,KAAM,UAAW67B,UAAW,KAGlFztC,EAAK6uC,OACLtoC,EAAO+lC,SAASp2B,MAAOs3B,OAAQ,gCAAiC57B,KAAM,UAAW67B,UAAW,KAC3FztC,EAAK6uC,OAAkB,IAATviC,GACf/F,EAAO+lC,SAASp2B,MAAOs3B,OAAQ,sCAAuC57B,KAAM,SAAU67B,UAAWztC,EAAKgwC,YAE3G,SAAUn/B,GACL++B,IACArpC,EAAO6nC,KAAKG,cAAgB,KAC5BhoC,EAAO6nC,KAAKn9B,OAAS,UAKjC1K,EAAO0pC,qBAAuB,WAC1B1pC,EAAO6nC,KAAKn9B,OAAS,EACrB1K,EAAO6nC,KAAKjtC,KAAO,gBACnBoF,EAAO6nC,KAAKO,SAAW,GACvBpoC,EAAOmoC,QAAS,EAChBnoC,EAAOmpC,WAIXnpC,EAAO2pC,OAAS,WACZnnC,EAAQ5F,QAAQ,WAAY,kDAAkD8T,OAAOnX,KAAK,WACtFsS,EAAY3F,WAAWlG,EAAO6nC,KAAKG,eAAezuC,KAAK,SAAUE,GAC7DuG,EAAOsmC,UAAS,QAK5BtmC,EAAO4pC,SAAW,SAAUC,EAAUC,GAElC,GAAIC,KAEJ,IAAID,EACAC,EAAMvnC,EAAQ5F,QAAQ,QAAS,sDAGnC,CACI,GAAInD,IAASuwC,SAAU,2EACnBH,KAAUpwC,EAAKuwC,SAAW,iGAC9BD,EAAMvnC,EAAQkB,OAAO,oCAAqC,4BAA6BjK,GAG3FswC,EAAIr5B,OAAOnX,KAAK,SAAU0wC,GACtB,GAAIr+B,IAAavT,OAAQ2H,EAAO6nC,KAAKG,cAAeb,OAAQ8C,EAAQJ,SAAUA,EAAUC,MAAOA,GAC3FN,EAAS,CACTM,KAAON,EAAS,GAChBK,IAAUL,EAAS,GACvB39B,EAAY7F,WAAW4F,EAAU49B,GAAQjwC,KAAK,SAAU2wC,GACpDlqC,EAAOsmC,UAAS,QAK5BtmC,EAAOmqC,SAAW,WACd,KAAInqC,EAAO6nC,KAAKn9B,QAAU,GAA1B,CAGA,GAAIjR,IAAS2wC,OAAQpqC,EAAO6nC,KAAKO,SAAUzhC,UAAW3G,EAAOqmC,eAAeM,SAC5EnkC,GAAQkB,OAAO,uCAAwC,yBAA0BjK,GAC7E8J,YAAa,iBAAkBC,KAAM,OACtCkN,OAAOnX,KAAK,SAAU8wC,GACrBrqC,EAAO6nC,KAAKjtC,KAAOyvC,EAAazvC,KAChCoF,EAAO6nC,KAAKO,SAAWiC,EAAajC,SACpCpoC,EAAO6nC,KAAKQ,eAAiBgC,EAAahC,eAC1CroC,EAAO6nC,KAAKzvC,UAAYiyC,EAAajyC,UACrC4H,EAAO6nC,KAAKa,KAAO2B,EAAa3B,KAChC1oC,EAAO6nC,KAAKY,IAAM4B,EAAa5B,IACJ,IAAvBzoC,EAAO6nC,KAAKn9B,SACZ1K,EAAO6nC,KAAKS,MAAQ+B,EAAa/B,MACjCtoC,EAAO6nC,KAAKU,cAAgB8B,EAAa9B,cACzCvoC,EAAO6nC,KAAKW,YAAc6B,EAAa7B,aAE3CxoC,EAAO6nC,KAAKyC,YAAa,EACzBtqC,EAAOkkC,MAAM4D,OAAOlR,gBAM5B52B,EAAOuqC,aAAe,SAAS36B,GAC3B5P,EAAO+lC,SAASl2B,OAAOD,EAAO,IAK9Bo2B,EAAa5tC,WACb4H,EAAOsnC,MAAQ,IACftnC,EAAOylC,SAEPzlC,EAAOsnC,MAAQtuC,EAAUgJ,cAAc7J,UAAY,IAGvD6H,EAAOwqC,iBAAmB,WAEtB1xC,EAAOiC,GAAG,eAAiB3C,UAAW4H,EAAO6nC,KAAKzvC,UAAWC,OAAQ2H,EAAO6nC,KAAKG,iBAGrFhoC,EAAOomC,YAAW,GASlBjsC,MAKJ,IAAIhD,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,uBAAA,SAAA,cAAA,UAAA,SAAA8H,EAAA6L,EAAA9M,GACXiB,EAAO2J,SAAU,EAEjB3J,EAAOyqC,YAEPzqC,EAAO0qC,UAAY,WACf7+B,EAAYzF,eAAepG,EAAOqmC,eAAeM,SAAU3mC,EAAOqmC,eAAeO,UAAUrtC,KAAK,SAAUE,GACtGuG,EAAO2qC,OAASlxC,KAIxBuG,EAAOmpC,QAAU,WACb,GAAI1vC,IACAkN,UAAW3G,EAAOqmC,eAAeM,SACjCoC,QAAS/oC,EAAOqmC,eAAeO,SAC/BzjC,OAAQnD,EAAOqmC,eAAeuE,gBAC9BC,UAAW9rC,EAAQ,QAAQiB,EAAOyqC,SAASI,UAAW,uBACtD1D,OAAQnnC,EAAOyqC,SAAStD,OAGxBnnC,GAAOyqC,SAASK,QAChBrxC,EAAKqxC,QAAU/rC,EAAQ,QAAQiB,EAAOyqC,SAASK,QAAS,uBAExDrxC,EAAKqxC,QAAUrxC,EAAKoxC,UAExBh/B,EAAYxF,YAAY5M,GAAMF,KAAK,WAC/ByG,EAAO2qC,OAAO96B,OAAO,EAAG,EAAGpW,MAInCuG,EAAO+qC,SAAW,SAAUtxC,GACxBoS,EAAYtF,eAAe9M,GAAMF,KAAK,SAAUE,GAC5C,GAAImW,GAAQ5P,EAAO2qC,OAAO37B,QAAQvV,EAClCuG,GAAO2qC,OAAO96B,OAAOD,EAAO,MAGjC5P,EAAOqmC,gBACNrmC,EAAO0qC,cAEf,IAAIvzC,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,sBAAA,SAAA,oBAAA,cAAA,UAAA,YAAA,OAAA,SAAA8H,EAAA6tB,EAAAhiB,EAAArJ,EAAAxJ,EAAAS,GAmCX,QAASuxC,GAAc3vC,GACnB,MAAOA,GACFoE,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KAlCvB,OALAO,EAAOirC,aAAexxC,EAAKgN,WAC3BzG,EAAO8D,IAAMrK,EAAKyxC,UACC,IAAflrC,EAAO8D,MAAW9D,EAAO8D,IAAM,GACnC9D,EAAOinC,OAASxtC,EAAKxB,MACrB+H,EAAOmrC,qBAAuB,YACtBnrC,EAAO8D,KACf,IAAK,GACD9D,EAAOmrC,qBAAuB,SAKlCnrC,EAAOorC,YAAc,SAAU9X,GAC3BA,EAAOlzB,OAAOrD,UAGlBiD,EAAOqrC,GAAK,WACJrrC,EAAOqqC,aACPxc,EAAkBnX,MAAM1W,EAAOqqC,cAE/Bxc,EAAkB1C,QAAQ,WAIlCnrB,EAAOsrC,WAAa,SAAUxhC,GAC1B9J,EAAOqqC,aAAevgC,EACtB9J,EAAOurC,SAAWn0C,QAAQwN,KAAKkF,IAGnC9J,EAAOiG,OAAS,WACZ4nB,EAAkB1C,QAAQ,WAY9BnrB,EAAOwrC,WAAa,WAChB,GAAIpB,GAASY,EAAchrC,EAAOirC,aAAansC,cAC/C+M,GAAYrE,UAAUxH,EAAO8D,IAAKsmC,GAAQ7wC,KAAK,SAAU4Q,GACrDnK,EAAOyrC,KAAOthC,KAItBnK,EAAO0rC,WAAa,WACX1rC,EAAOurC,UAGwB,KAAhCvrC,EAAOurC,SAAS3wC,KAAKivB,QAIzBhe,EAAYpE,QAAQzH,EAAO8D,IAAK9D,EAAOurC,UAAUhyC,KAAK,SAAU4Q,GACpDnK,EAAOurC,SAASnuC,MAAO,GAAkC,IAA5B4C,EAAOurC,SAAS5kC,WAC7C3G,EAAOurC,SAASnuC,GAAK+M,EACrBnK,EAAOurC,SAAS5kC,UAAY3N,EAAU8C,UAAU6K,UAChD3G,EAAOyrC,KAAK57B,OAAO,EAAG,EAAG7P,EAAOurC,YAEhCvrC,EAAOqqC,aAAazvC,KAAOoF,EAAOurC,SAAS3wC,KAC3CoF,EAAOqqC,aAAa5wC,KAAOuG,EAAOurC,SAAS9xC,MAE/C+I,EAAQa,OAAOrD,EAAOinC,OAAQ,gBAI1CjnC,EAAO2rC,WAAa,WAChB3rC,EAAOurC,UACH3wC,KAAM,GACNwC,IAAI,EACJ3D,KAAM,GACNkN,UAAW3N,EAAU8C,UAAU6K,YAMvC3G,EAAOmG,OAAS,WACPnG,EAAOqqC,cAAkD,IAAlCrqC,EAAOqqC,aAAa1jC,WAGhDnE,EAAQ5F,QAAQoD,EAAOinC,OAAQ,0CAA0C1tC,KAAM,WAC3EsS,EAAYjE,UAAU5H,EAAO8D,IAAK9D,EAAOqqC,aAAajtC,IAAI7D,KAAK,SAAS4Q,GAChE,GAAIyF,GAAQ5P,EAAOyrC,KAAKz8B,QAAQhP,EAAOqqC,aACvCrqC,GAAOyrC,KAAK57B,OAAOD,EAAO,GAC1B5P,EAAOqqC,aAAe,KACtB7nC,EAAQa,OAAOrD,EAAOinC,OAAQ,mBAK9CjnC,EAAO2rC,gBAIX,WACI,YAOA,SAASzzC,GAAW8H,EAAQhH,EAAW6S,EAAa/S,EAAQC,EAAOH,EAAYgzC,EAAeC,EAAczyC,EAAYC,GAEpH2G,EAAO8rC,SAAW,GAAlB9rC,EAAO+rC,SAAW,GAGlB/rC,EAAOoF,MAAQ,WAAfpF,EAAOgsC,aAAQ,CACX,IAAA3mC,IAAO4mC,WAAcL,EAAAM,OAAAlsC,EAAA8rC,SAAA,IAAA9rC,EAAA+rC,UACrBlgC,GAAWzG,MAAEC,GAAYmE,WAAA,IAAqBjQ,KAAA,SAAO4Q,GACrDnR,EAAY+I,WAAYoI,GACpBpR,EAAAR,SAAUE,QAAWC,OAAA,cAAA,SAAAyR,EAAA/G,MAIrBpD,EAAOmsC,iBAAkB,CAAzB,IAAAtpC,GAAOsH,CACP0B,GAAI7S,YAAUO,KAAA,SAAA0P,GAWV,OAVJ7P,EAAYY,SAAYC,KAAKgP,EAAA87B,OAGtB3tC,QAAQ+R,YAAYtG,EAAQupC,UAA5BvpC,EAAQupC,WAEXvpC,EADIupC,OAAQC,aAASpjC,EAAA+7B,OAAA,GAGrB5rC,EAAWc,QAAQD,KAAK4I,GAGhBzJ,EAAWc,QAAQ2I,QAAQypC,MAAnC,IAAQ,GACJ,IAAK,GACLxzC,EAAKiC,GAAA,eACD,MAEJ,KADI,GACCnC,EAAAqC,OACGnC,EAAAiC,GAAA,eAGAjC,EAAOiC,GAAG,oBAAsB5C,SAAU,KAC9C,MACJ,KADI,GACJW,EAAKiC,GAAA,mBACD,MAEJ,KADI,GACJjC,EAAKiC,GAAA,kBAIV,SAAUuP,GAAVtK,EAAAmsC,iBAAe,EACd/yC,EAAOc,QAAA0I,QACP5C,EAAAyD,MAAW6G,EAAQmB,QAAAL,QACnBpL,EAAOgsC,aAAY,KAwBxB,SAAU1hC,GAAVtK,EAAAyD,MAAe6G,EAAAmB,QAAAL,QACdpL,EAAOgsC,aAAY,EACnBhsC,EAAOmsC,iBAAc,EACrB/yC,EAAOwJ,WAWfxJ,EAAWwJ,QAAXvJ,EAAWgsC,OACXhsC,EAAac,OAGT0xC,EAAa7zC,WAAbgI,EAAAyD,MAAaooC,EAAA7zC,UAIrB,QAASu0C,KAGL,GAAIC,GAAS,mEAEb,QAAAN,OAAO,SAAAxtC,GACH,GACQ+tC,GAAAC,EACAC,EAAMC,EAAMC,EAFZC,EAAA,GACSC,EAAA,GACGC,EAAO,GACnB34B,EAAA,CAGJ,GAAGo4B,GAAA/tC,EAAAuuC,WAAA54B,KACCq4B,EAAOhuC,EAAMuuC,WAAW54B,KACxB04B,EAAOruC,EAAMuuC,WAAW54B,KAGxBs4B,EAAOF,GAAQ,EAAfG,GAAe,EAARH,IAAQ,EAAAC,GAAA,EACfG,GAAgB,GAAPH,IAAa,EAAMK,GAAQ,EACpCC,EAAS,GAAFD,EAGHjtC,MAAM4sC,GAANG,EAAMG,EAAO,GACNltC,MAAAitC,KAEPC,EADO,IAIXF,EAASA,EAATN,EAAS7tC,OAAAguC,GACLH,EAAO7tC,OAAOiuC,GACdJ,EAAO7tC,OAAOkuC,GACdL,EAAO7tC,OAAOquC,GAElBP,EADIC,EAAOK,EAAO,GAClBJ,EAAOC,EAAOC,EAAOG,EAAA,SACrB34B,EAAO3V,EAAOvC,OAGlB,OAAO2wC,IAGXI,OAAQ,SAAUxuC,GAAlB,GACQ+tC,GAAAC,EACAC,EAAMC,EAAMC,EAFZC,EAAA,GACSC,EAAA,GACGC,EAAO,GACnB34B,EAAA,EAIA84B,EAAa,qBAAbA,GAAAC,KAAa1uC,IACbirB,OAAAne,MAAW,oJAKf9M,EAAQA,EAAMe,QAAQ,sBAAuB,GAE7C,GAAGktC,GAAAH,EAAAx9B,QAAAtQ,EAAAC,OAAA0V,MACCu4B,EAAOJ,EAAOx9B,QAAQtQ,EAAMC,OAAO0V,MACnCw4B,EAAOL,EAAOx9B,QAAQtQ,EAAMC,OAAO0V,MACnC24B,EAAOR,EAAOx9B,QAAQtQ,EAAMC,OAAO0V,MAGnCo4B,EAAQE,GAAQ,EAAMC,GAAQ,EAA9BF,GAAgB,GAARE,IAAc,EAAAC,GAAQ,EAC9BE,GAAgB,EAAPF,IAAO,EAAOG,EAGvBF,GAAkBliC,OAAOyiC,aAAaZ,GAE1B,IAARI,IAAAC,GAAYliC,OAAAyiC,aAAAX,IAGJ,IAARM,IAAAF,GAAYliC,OAAAyiC,aAAAN,IAIhBN,EAAOC,EAAOK,EAAO,GAArBJ,EAAOC,EAAOC,EAAOG,EAAA,SAGhB34B,EAAI3V,EAAMvC,OAEnB,OAAO2wC,6IAhLnB11C,QAAQC,OAAO,OAAfa,WAAe,kBAAAA,GACViF,QAAA,gBAAWovC,KAuLpB,IAAIp1C,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,sBAAA,SAAA,aAAA,oBAAA,cAAA,UAAA,YAAA,UAAA,OAAsB,SAAU8H,EAAQpH,EAAYi1B,EAAmBhiB,EAAarJ,EAASxJ,EAAW+F,EAAStF,GAA5HuG,EAAA5C,GAAW3D,EAAA2D,GAGX4C,EAAOiG,OAAS,WAAT7O,QAAS8f,OAAAlX,EAAYstC,SAAAttC,EAAAutC,QACpB1f,EAAe1C,QAAO,UAGtB0C,EAAkBnX,MAAM1W,EAAOutC,SAGvCvtC,EAAOqrC,GAAK,WAAZrrC,EAAOiG,UAIPjG,EAAOkkC,SAEPlkC,EAAOwtC,SAAY5yC,KAAM,aAAcwC,GAAI,IAAOxC,KAAM,YAAawC,GAAI,IAErE4C,EAAO5C,MAAO,EAAd4C,EAAOytC,UACPr1C,WAAO,EAAWqwC,IAAA,GAAAiF,OAAA,IAAAC,UAAA,KAAAC,UAAA,GAAAxvC,MAAAyvC,WAAA,KAAArF,YAAA,EACd7hC,UAAYlN,EAAGkN,UAAS1E,kBAAwBjJ,EAAM8C,UAAWmG,oBAAwB,GAK7F4J,EADGjF,WAAAnN,EAAA2D,GAAA3D,EAAAkN,WAAApN,KAAA,SAAA4Q,GACHnK,EAAAytC,SAAYr2C,QAAgBwN,KAAIuF,GAC5BnK,EAAOytC,SAAAG,UAAmB,GAAKxvC,MAAA+L,EAAAyjC,WAC/BzjC,EAAO2jC,kBAAqB9tC,EAASytC,SAASK,gBAAA,GAAA1vC,MAAA+L,EAAA2jC,kBAC9C9tC,EAAIstC,SAASl2C,QAAAwN,KAAiB5E,EAAOytC,UACrCztC,EAAOutC,OAAAn2C,QAAWwN,KAAQ5E,EAAKytC,YAKvCztC,EAAO+tC,KAAO,WAAd/tC,EAAOguC,gBAIPhuC,EAAOguC,aAAe,WAAtB,GAAOxE,GAAA/vC,EAAe2D,MAAA,EAAY,EAAA,CAC9ByO,GAAIhF,YAAc7G,EAAYytC,SAAIjE,GAAAjwC,KAAA,SAAA4Q,GAClCnK,EAAY5C,MAAA,IACJ4C,EAAO5C,GAAA+M,EAAW/R,UAClBqB,EAAA2D,GAAO+M,EAAK/R,WAGhB4H,EAAOytC,SAASr1C,UAAY+R,EAA5BnK,EAAOutC,OAASn2C,QAAAwN,KAAY5E,EAAAytC,UAC5BjrC,EAAOa,OAAA,WAAiB,kBAYpC,IAAIlM,KAAMC,QAAQC,OAAO,MAAzBF,KAAIe,WAAM,kCAAA,SAAA,aAAA,YAAA,oBAAA,cAAA,UAAA,OAAe,SAAA8H,EAAApH,EAAAI,EAAA60B,EAAAhiB,EAAArJ,EAAA/I,GAGrBuG,EAAOgkC,WAAPvnC,MAAOuD,GAIPA,EAAOikC,cAAPrB,UAAO,EACH9C,aAAU,EACVC,UACAnlC,KAAS,eAAAolC,OAAA,OAAA,SAAA,YAAA,gBAAA,IAAA,YAAA,cAAA,aAAA,eAAA,OACHplC,KAAM,YAAAolC,MAAgBpnC,EAAQqC,WAAkB,cAAa,gBAAsB,UAAA,SAAa;GAChGL,KAAM,QAAAolC,MAAapnC,EAAOqC,WAAoB,mBAAqB,OAAA,OAAiB,OACpFL,KAAM,SAASolC,OAAO,YAAW,kBAAe,OAChDplC,KAAM,QAAAolC,MAAUpnC,EAAQqC,WAAa,QAAmB,KAAA,UAAA,OAAA,SAAA,OACxDL,KAAM,QAASolC,OAAO,QAAA,OACtBplC,KAAM,UAASolC,OAAQ,OAAS,WAI1ChgC,EAAOkkC,QAAP,IAAA+J,IAAe,EAGXC,EAAY,WAAZD,EACIpgB,EAAAnX,MAAA1W,EAAAytC,UAGA5f,EAAkB1C,QAAQ,SAGlCnrB,GAAO0W,MAAQ,WAAR1W,EAAQkkC,MAAA4D,OAAYqG,OACnB3rC,EAAO5F,QAAM,mBAAe,0DAAA8T,OAAAnX,KAAA,WAC5B20C,MAKAA,KAKJluC,EAAO5C,MAAO,EAAdywB,EAAkB1C,UAIlBtf,EADG9E,uBAAAtN,EAAArB,UAAAY,EAAA8C,UAAA6K,WAAApN,KAAA,SAAAmX,GACH1Q,EAAAytC,SAAY/8B,EACR1Q,EAAOkkC,MAAA4D,OAAWC,iBAK1B/nC,EAAO+tC,KAAO,WAAdliC,EAAc7E,wBAAYhH,EAAAytC,UAAAl0C,KAAA,SAAA4Q,GACtB8jC,GAAY,EACRjuC,EAAAkkC,MAAA4D,OAAcC,eACd/uC,EAAOmJ,qBAAanC,EAAAytC,SAAAxrC,mBACpBO,EAAAa,OAAU,GAAA,kBAMtB,IAAIlM,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,0BAAA,SAAA,UAAA,cAAA,UAAA,YAAA,oBAAA,OAA0B,SAAU8H,EAAQjB,EAAS8M,EAAarJ,EAASxJ,EAAW60B,EAAmBp0B,GAoEpH,QAASuxC,GAAc3vC,GAAvB,MAASA,GACLoE,QAAO,KAAA,KACFA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KACdA,QAAQ,KAAM,KAvEvBO,EAAOirC,aAAexxC,EAAK2wC,QAAU,EAArC,IAAAzjC,GAAOlN,EAAAkN,WAAoB3N,EAAU8C,UAAA6K,SAGrC3G,GAAOorC,YAAc,SAAU9X,GAA/BA,EAAOlzB,OAAArD,UAIPiD,EAAOqrC,GAAK,WAALrrC,EAAKqqC,aACJxc,EAAOnX,MAAA1W,EAAAqqC,cAGPxc,EAAkB1C,QAAQ,WAGlCnrB,EAAOiG,OAAS,WAAhB4nB,EAAgB1C,QAAY,WAI5BnrB,EAAOsrC,WAAa,SAAUxhC,GAA9B9J,EAAOqqC,aAAavgC,GAIpB9J,EAAOwrC,WAAa,WAAY,KAAzBxrC,EAAAirC,cAGHp/B,EADIrF,eAAAG,EAAA3G,EAAAirC,cAAA1xC,KAAA,SAAA2wC,GACJlqC,EAAAouC,UAAYlE,EACW,IAAnBlqC,EAAOouC,UAAYjyC,SACf6D,EAAOqqC,aAAU,SAK7BrqC,EAAOmG,OAAS,WAATnG,EAASqqC,cAGZ7nC,EADI5F,QAAA,WAAA,6CAAA8T,OAAAnX,KAAA,WACJsS,EAAgBnF,cAAY1G,EAAAqqC,aAAAjyC,UAAAuO,GAAApN,KAA6C,WACrEyG,EAAA2J,SAAY,CACR,IAAAiG,GAAO5P,EAAUouC,UAAAp/B,QAAAhP,EAAAqqC,aACjBrqC,GAAIouC,UAAQv+B,OAAOD,EAAU,GAC7B5P,EAAOqqC,aAAU,KACjB7nC,EAAOa,OAAA,UAAe,mBAMlCrD,EAAOquC,aAAe,SAAUC,GAAhC,GAAOlxC,IAAA,CACH,IAAU,IAANkxC,EACA,CAAA,IAAAtuC,EAAOqqC,aACH,MAGAjtC,GAAK4C,EAAOqqC,aAAajyC,UAEjC,GAAIm2C,IAAYnxC,GAAKA,EAAIuJ,UAAWlN,EAAKkN,UAAzCnE,GAAIkB,OAAW,mCAA0B,qBAAA6qC,GACzChrC,YAAe,iBAAAC,KAAA,OAEZkN,OADCnX,KAAA,SAAai1C,GACd,GAAAA,EAAOp2C,aAAe,GAAIgF,KAAA,EAAA,CACrB,GAAGqxC,GAAAr3C,QAAewN,KAAK4pC,EACvBxuC,GAAIsrC,WAAQmD,GACZzuC,EAAOqrC,SAenBrrC,EAAO0uC,aAAe,SAAUhnC,GAAhC,IAAO1H,EAAAirC,aAAe,OAAU,CAG5B,IAAI9b,GAAO6b,EAActjC,EAAKinC,SAAS7vC,eAAnCsrC,EAAOY,EAAchrC,EAAKirC,aAASnsC,cACvC,OAAIqwB,GAAAngB,QAASo7B,IAAc,GAI/BpqC,EAAO4uC,sBAEP5uC,EAAOwrC,eAGX,IAAIr0C,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,qBAAA,SAAA,eAAA,UAAA,gBAAA,UAAA,cAAA,UAAA,aAAA,YAAA,YAAA,gBAAA,OAAA,aAAqB,SAAU8H,EAAQ6rC,EAAc9sC,EAASwmC,EAAetsC,EAAS4S,EAAarJ,EAAS5J,EAAYgsC,EAAW5rC,EAAW61C,EAAeC,EAAM11C,GAE9K4G,EAAOytC,UAAar1C,WAAW,EAAI22C,IAAK,EAAGrB,OAAQ,IAAKC,UAAW,KAAMqB,eAAgB,IAAzFhvC,EAAOrI,OAAA,EAGPqI,EAAOivC,MAAO,EAAdjvC,EAAOkkC,SACPlkC,EAAO2lC,aACPtlB,WAAO,KACHe,YAAY,GAGhBphB,EAAOilB,iBAAmB,cAE1BjlB,EAAOkmC,YAAc,WAArBlmC,EAAOrI,OAAAqI,EAAcrI,OAIrBqI,EAAOgkC,WAAPvnC,MAAOuD,GAIPA,EAAOkvC,iBAAPzyC,MAAOuD,GAIPA,EAAOmvC,eAAP1yC,MAAOuD,GAIPA,EAAOikC,cAAPrB,UAAO,EACH9C,aAAU,EACVC,UACAnlC,KAAS,eAAAolC,OAAA,OAAA,SAAA,YAAA,IAAA,YAAA,cAAA,aAAA,eAAA,OACHplC,KAAM,YAAAolC,MAAgBpnC,EAAQqC,WAAkB,cAAkB,gBAAa,UAAe,SAAA,OAC9FL,KAAM,QAAAolC,MAAapnC,EAAOqC,WAAoB,mBAAqB,OAAA,OAAiB,OACpFL,KAAM,SAASolC,OAAO,YAAW,kBAAe,OAChDplC,KAAM,QAAAolC,MAAUpnC,EAAQqC,WAAa,KAAA,UAAmB,OACxDL,KAAM,QAASolC,OAAO,QAAA,OACtBplC,KAAM,UAASolC,OAAQ,OAAS,UAM1C,IAAI2G,GAAW3tC,EAAU8C,UAAU6K,UAA/BigC,EAAW5tC,EAAU8C,UAAUqH,OAG/BisC,EAAe,SAAUC,EAAMC,GAA/B,GAAAC,GAAeD,EAAA,GAAUlxC,MAAMixC,GAC3BG,EAAA,GAAWpxC,MAAOmxC,EACtB,OAAIv5B,MAAAuE,IAAUi1B,EAASC,iBAAA,MAI3BzvC,GAAO0vC,iBAAmB,WAA1B,GAAOj2C,IAAA2wC,OAAA,GAAmBzjC,UAAYggC,EAClCnkC,GAAIkB,OAAS,uCAAuB,yBAAAjK,GACpC8J,YAAe,iBAAAC,KAAA,OAAAkN,OAAwCnX,KAAA,SAAA8wC,GACjDrqC,EAAAkkC,MAAa4D,OAAAC,eACX/nC,EAAO2vC,aAAatF,EAAAjyC,cAKhC4H,EAAO4vC,iBAAmB,SAAUC,GAApC,GAAOp2C,GAAArC,QAAAwN,KAAmBirC,EACtBrtC,GAAIkB,OAAO,0CAAa,6BAAAjK,GACxB8J,YAAe,iBAAAC,KAAA,OAAAkN,OAA2CnX,KAAA,SAAAu2C,GAGlD,OAAQA,GAAR,IAAQ,GAAA9vC,EAAA+vC,KAAAF,EAAAv3C,SAAA,MACJ,KAAK,GAAG0H,EAAOgwC,IAAAH,OAO/B7vC,EAAO2vC,aAAe,SAAUvyC,GAAhCyO,EAAOjF,WAAexJ,EAAAupC,GAAcptC,KAAA,SAAA4Q,GAChCzO,QAAYC,IAAA,YAAeyB,GACvB4C,EAAAytC,SAAYtjC,EACZnK,EAAOytC,SAAAsB,IAAWK,EAAApvC,EAAAytC,SAAAG,UAAAxvC,KAAA6xC,OAClBjwC,EAAOkkC,MAAA4D,OAASC,eAChB/nC,EAAOgwC,QAIXnkC,EAAYhE,cAAczK,GAAI7D,KAAK,SAAU4Q,GAA7CnK,EAAAkwC,UAAY/lC,IAKZnK,EAAOmwC,aAAa/yC,IAGxB4C,EAAOmwC,aAAe,SAAU/yC,GAAhCyO,EAAO3E,gBAAyB9J,GAAI7D,KAAA,SAAA4Q,GAChCnK,EAAAowC,SAAYjmC,EACR/S,QAAOwX,QAAA5O,EAAWowC,SAAA,SAAA58B,GAClBA,EAAA68B,KAAQvB,EAAQwB,mBAAiB98B,EAAA5b,UAMzCoI,EAAOquC,aAAe,WAAtB,KAAOruC,EAAAytC,SAAer1C,WAAY,GAAlC,CAII,GAAIm2C,IAAanxC,GAAI4C,EAAOytC,SAASr1C,UAAWuO,UAAWggC,EAA3DnkC,GAAIkB,OAAW,mCAAiC,qBAAW6qC,GAC3DhrC,YAAe,iBAAAC,KAAA,OAEZkN,OADCnX,KAAA,SAAa8wC,GACdrqC,EAAOytC,SAAKpD,EACXrqC,EAAOuwC,SAAAxB,IAAWK,EAAApvC,EAAAytC,SAAAG,UAAA5tC,EAAAuwC,SAAA9qC,UAK1BzF,EAAOwwC,oBAAsB,WAA7B,KAAOxwC,EAAAytC,SAAAr1C,WAAsB,GAA7B,CAII,GAAIqB,IAASrB,UAAW4H,EAAOytC,SAASr1C,UAAxCoK,GAAIkB,OAAS,+CAA2B,iCAAAjK,GACxC8J,YAAe,iBAAAC,KAAA,OAAAkN,OAAAnX,KAAgD,SAAAk3C,GACzDzwC,EAAAytC,SAAauB,eAAkByB,EAAczB,mBAMvDhvC,EAAO+vC,KAAO,SAAUW,GAAjB1wC,EAAOkkC,MAAA4D,OAAUqG,OAChB3rC,EAAO5F,QAAM,UAAO,uCAAQ8T,OAAAnX,KAAA,SAAA4Q,GAC5BnK,EAAQ2wC,aAAQD,KAIhB1wC,EADG2wC,aAAAD,IAKX1wC,EAAO2wC,aAAe,SAAUD,GAAhCnL,EAAO,WACHvlC,EAAArI,OAAc,EACdkU,EAAO/D,WAAQ4oC,GAAAn3C,KAAA,SAAA4Q,GAGXzO,QAAQC,IAAIwO,EAASymC,aAArBzmC,EAAQymC,YAAaC,iBAAA,GAAAzyC,MAAA+L,EAAAymC,YAAAC,kBACrB1mC,EAASymC,YAAYE,mBAAmB,GAAI1yC,MAAK+L,EAASymC,YAAYE,oBAGtE9wC,EAAOuwC,SAAWpmC,EAAlBnK,EAAOuwC,SAAA9qC,KAAW,GAAArH,MAAA4B,EAAAuwC,SAAA9qC,MAClBzF,EAAOuwC,SAASxB,IAAAK,EAAgBpvC,EAAOytC,SAASG,UAAAzjC,EAAA1E,MAChDzF,EAAO+wC,UACP/wC,EAAOkkC,MAAA4D,OAAAC,eACP/nC,EAAOgxC,MAAMC,SAAOjxC,EAAAgxC,MAAAC,QAAAC,aAK5BlxC,EAAOgwC,IAAM,SAAUmB,GAAhBnxC,EAAMkkC,MAAA4D,OAAeqG,OACpB3rC,EAAO5F,QAAM,UAAO,gEAAQ8T,OAAAnX,KAAA,SAAA4Q,GAC5BnK,EAAQoqB,UAAQ+mB,KAGdnxC,EAAAoxC,mBACCpxC,EAAOqxC,gBACNrxC,EAAOsxC,kBAIPtxC,EAAOoqB,UAAU+mB,IAI7BnxC,EAAOoxC,gBAAkB,WAAzB,GAAOG,GAAAn4C,EAAkBO,QAAWL,IAAA,YAChC,UAAAi4C,GAAgBA,EAAAj5C,WAAmB,GAAIi5C,EAAAn5C,WAAA4H,EAAAytC,SAAAr1C,YAS3C4H,EAAOqxC,cAAgB,WAAvB,GAAOE,GAAAn4C,EAAgBO,QAAUL,IAAA,YAC7Bi4C,GAAI9rC,KAAY,GAAArH,MAAAmzC,EAAmB9rC,MACnC8rC,EAAUX,YAAWC,iBAAe,GAAAzyC,MAAAmzC,EAAAX,YAAAC,kBACpCU,EAAUX,YAAYE,mBAAmB,GAAI1yC,MAAKmzC,EAAUX,YAAYE,oBACxE9wC,EAAAuwC,SAAUn5C,QAAYwN,KAAA2sC,GACtBvxC,EAAOivC,MAAA,EACPjvC,EAAOkkC,MAAA4D,OAAOC,eACd/nC,EAAOgxC,MAAMC,SAAOjxC,EAAAgxC,MAAAC,QAAAC,WAKxBlxC,EAAOsxC,eAAiB,WAAjBtxC,EAAAwxC,iBACH91C,QAAGC,IAAO,6BACVqE,EAAAwxC,eAAY5M,EAAA,WACZlpC,QAAOC,IAAA,cACHqE,EAAQkkC,MAAI4D,OAAAqG,QAAAnuC,EAAAuwC,SAAAj4C,WAAA,IACTc,EAAOO,QAAaC,IAAA,YAAiBoG,EAAAuwC,UACpC70C,QAAAC,IAAW,yBAGhB,OAGPqE,EAAOyxC,cAAgB,WAAhBzxC,EAAAwxC,iBACA5M,EAAO3+B,OAAAjG,EAAewxC,gBACrBxxC,EAAAwxC,eAAwBz1C,SAKhCiE,EAAO5F,IAAI,WAAY,WAEnB4F,EAAOyxC,kBAGXzxC,EAAO0xC,eAAiB,WAAxBt4C,EAAOO,QAAAC,IAAiB,YAAYmC,SAIpCiE,EAAOoqB,UAAY,SAAU+mB,GAA7B,GAAOz9B,IAECpb,UAAA,EACIqO,UAAWggC,EACXoC,QAAAnC,EACAxuC,UAAS4H,EAAAytC,SAAAr1C,UACTu5C,KAAAR,EAAWA,EAAAQ,KAAO,GAClBC,OAAMT,EAAMA,EAAIS,OAAO,GACvBC,KAAAV,EAAQA,EAAMU,KAAI,GAClBrJ,YAAYxoC,EAAIytC,SAAOjF,YACvB/iC,KAAA,GAAArH,MACA0zC,KAAMX,EAAIA,EAAAW,MAAA,EACVC,YAAYZ,EAAIA,EAAOY,YAAC,EACxBC,OAAAb,EAAaA,EAAAa,OAAU,GACvBC,OAAQd,EAAMA,EAAIc,OAAS,GAC3BC,SAAQl5C,EAAUgJ,cAASC,oBAAA,EAC3BkwC,UAAUhB,EAAAA,EAAUgB,aACpBC,YACAC,aACAC,UAAWnB,EAAAA,EAAAmB,aACXvD,IAAAK,EAAiBpvC,EAAIytC,SAAYG,UAAAxvC,KAAA6xC,OACjCW,aACA2B,SAAapB,EAAAA,EAAAP,YAAA2B,SAAAx2C,OACTy2C,oBAAoBrB,EAAAA,EAAAP,YAAuB4B,oBAAAz2C,OAC3C80C,iBAAAM,EAAqB,GAAM/yC,MAAI+yC,EAAAP,YAAYC,kBAAsB90C,QAGrE02C,cAERzyC,GAAOuwC,SAAWn5C,QAAQwN,KAAK8O,GAA/By9B,GACInxC,EAAK0yC,UAIT1yC,EAAOivC,MAAO,EAAdjvC,EAAOkkC,MAAA4D,OAAOC,eACd/nC,EAAOgxC,MAAMC,SAAOjxC,EAAAgxC,MAAAC,QAAAC,UAGpBlxC,EAAOsxC,kBAGXtxC,EAAO+wC,QAAU,WAAjB,GAAO4B,GAAA3yC,EAAUuwC,SAAYK,YAAA18B,OAAA,GACzB,IAAY,IAARy+B,EAAJ,CACA,GAAIC,GAAA5yC,EAAauwC,SAAAK,YAAApkC,QAAAmmC,EAAAA,EACjB3yC,GAAIuwC,SAAMK,YAAgBiC,IAAA78B,KAAY+I,MAAU,IAAV6zB,GAAkB,MAI5D5yC,EAAO0yC,QAAU,WAAjB,GAAOI,GAAA9yC,EAAUuwC,SAAYK,YAAAC,gBAGzB,OAFA7wC,GAAIuwC,SAAMK,YAAgBE,mBAAY,IAAAgC,EAAA/2C,OAAAg3C,OAAAD,GAAAllC,IAAA,IAAA,QAAAolC,SACtChzC,EAAOuwC,SAASK,YAAYqC,iBAAqB,IAArBH,EAA4B/2C,OAAKg3C,OAAY/yC,EAAYuwC,SAAS9qC,MAAAytC,KAAQH,OAAAD,GAAA,QAC/F9yC,EAAAuwC,SAASK,YAAYE,oBAIhC9wC,EAAOmzC,aAAe,SAAUrvC,EAAK4D,EAAMwhC,GAA3C,GAAOjC,GAAA,GACCnvC,EAAS,kCACb,QAAIgM,GACJ,IAAQ,GAAAmjC,EAAA,cAAA,MACJ,KAAK,GAAGA,EAAS,cAAgB,MACjC,KAAK,GAAGA,EAAS,UAAA,MACjB,KAAK,GAAGA,EAAS,SAAA,MAIjB,KAAK,GAAGA,EAAS,2BAGrB,GAAIxtC,IAASgN,WAAY,GAAIykC,UAAWpnC,EAAK7L,MAAOgvC,EAApDzkC,GAAIkB,OAAS5L,EAAY,qBAAoB2B,GAC7C8J,YAAe,iBAAaC,KAAA,OAAsBkN,OAAAnX,KAAA,SAAA8wC,GAC5C,GAAAA,EACE,OAAKvmC,GACL,IAAQ,GACJ9D,EAAKuwC,SAAAuB,KAAAzH,EAAAjtC,GACD4C,EAAOuwC,SAAS0B,OAAO5H,EAAazvC,KACpCoF,EAAOuwC,SAASyB,OAAS3H,EAAa5wC,KACtCuG,EAAOuwC,SAASwB,YAAS1H,EAAa1jC,SACtC,MAEJ,KADI,GACJ,KAEA,SAAAe,EAAA0rC,OAAA/I,EAAAjtC,GACIsK,EAAKsvB,SAASqT,EAAazvC,KAC3B8M,EAAKf,UAAW0jC,EAAa1jC,UACxB,IAAL7C,IACI4D,EAAA2rC,eAAQhJ,EAAA5wC,MACH,IAALqK,IAAK4D,EAAA4rC,cAAiBjJ,EAAa5wC,MACnCyvC,IACO,IAAPplC,GAAO9D,EAAAuwC,SAAA4B,UAAAxiC,KAAAjI,GACK,IAAR5D,GAAW9D,EAAOuwC,SAAS6B,SAAAziC,KAAUjI,GAC7B,IAAR5D,GAAW9D,EAAOuwC,SAAS8B,UAAS1iC,KAAKjI,GACjC,IAAR5D,GAAW9D,EAAOuwC,SAAS+B,UAAU3iC,KAAKjI,QAQtE1H,EAAOuzC,OAAS,SAAUzvC,GAA1B,GAAO4D,IAAStK,IAAA,EAAAg2C,QAAe,EAAA96C,SAAA0H,EAAAuwC,SAAAj4C,SAAA0+B,SAAA,GAAAqc,eAAA,GAAAC,cAAA,GAAAE,oBAAA,GAC3BxzC,GAAImzC,aAAcrvC,EAAG4D,GAAS,IAIlC1H,EAAOyzC,OAAS,SAAU3vC,EAAK4D,GAA/B,GAAOgsC,KACH,QAAI5vC,GACJ,IAAQ,GAAA4vC,EAAA1zC,EAAAuwC,SAAA4B,SAAA,MACJ,KAAK,GAAGuB,EAAW1zC,EAAOuwC,SAAS6B,QAAA,MACnC,KAAK,GAAGsB,EAAW1zC,EAAOuwC,SAAS8B,SAAU,MAC7C,KAAK,GAAGqB,EAAW1zC,EAAOuwC,SAAS+B,SAAW,MAC9C,SAAQ,OAGZ,GAAI5qC,EAAKtK,MAAO,EAOT,CACH,GADGwS,GAAA8jC,EAAA1kC,QAAAtH,EAEH,YADAgsC,GAAI7jC,OAAQD,EAAS,GARrBpN,EAAK5F,QAAW,WAAA,0CAAA8T,OAAAnX,KAAA,WAChBsS,EAAgB5D,kBAAYnE,EAAA4D,EAAAtK,IAAA7D,KAAA,SAAA4Q,GACxB,GAAAyF,GAAY8jC,EAAA1kC,QAAkBtH,EAC1BgsC,GAAI7jC,OAAQD,EAAS,QAWrC5P,EAAO2zC,KAAO,WAAd,IAAO3zC,EAAOkkC,MAAA4D,OAAYsB,OAElB,YADAppC,EAACkkC,MAAO4D,OAAM8L,WAAe,EAI7B5zC,GAAOuwC,SAASj4C,YAAa,GAAMuzC,EAAaxzC,OAAS,IAAzD2H,EAAOuwC,SAASl4C,OAAAwzC,EAAmBxzC,OAGvC,IAAIsP,GAAa3H,EAAOuwC,SAASj4C,YAAa,EAAK,EAAI,CAAvDuT,GAAI9D,YAAoB/H,EAAAuwC,SAAS5oC,GAAkBpO,KAAI,SAAA4Q,GACvD3H,EAAYa,OAAA,WAAmB,aAC3BrD,EAAQuwC,SAAOj4C,YAAY,IACvB0H,EAAOkwC,UAASrgC,OAAA,EAAA,EAAczY,QAAGwN,KAAA5E,EAAAuwC,WACjC1E,EAAOxzC,OAAU,KACjB2H,EAAA0xC,kBAGJ1xC,EAAOkkC,MAAM4D,OAAOC,eAApB/uC,EAAOmJ,qBAAanC,EAAAuwC,SAAA2B,UAIpBlyC,EAAO+vC,KAAK5lC,MAIpBnK,EAAO6zC,cAAgB,WAAvB,MAAO7zC,GAAAivC,KAAgB,iBAGR,iBAGfjvC,EAAO8zC,SAEP9zC,EAAO+zC,SAAW,SAAUC,EAAMl1B,EAAO5K,GACrC,MADJxY,SAAOC,IAAAq4C,IACHA,EAAQxwC,KAAI,KAAAsb,EAAA,KAAA5K,EAAA,MAAA,eAAA8/B,EAAA3oC,MAMhBrL,EAAOi0C,WAAa,SAAUvsC,GAA9BlF,EAAO5F,QAAa,WAAU,yCAAM8T,OAAAnX,KAAA,WAChCsS,EAAgB1E,mBAAYO,EAAAtK,IAAA7D,KAAA,SAAA4Q,GACxB,GAAAyF,GAAY5P,EAAAowC,SAAmBphC,QAAStH,EACpC1H,GAAIowC,SAAQvgC,OAAOD,EAAS,GAC5BpN,EAAOa,OAAA,WAAgB,2BAMnCrD,EAAOk0C,SAAW,UAAlBl0C,EAAOm0C,YAAW,SAAAL,GAClB,GAAOA,GAAwB,IAAxBA,EAAc33C,QAAiB6D,EAAAk0C,UAAA,IAAAl0C,EAAAk0C,SAAtC,CACI,GAAIz6C,IAACu6C,KAASF,EAAMM,gBAAiBp0C,EAAOk0C,SAC5CroC,GAAWxE,iBAAerH,EAAAytC,SAAiBr1C,UAAOqB,GAAAF,KAAA,SAAA4Q,GAClD3H,EAAYa,OAAA,UAAiB,qCACzB8G,EAAQkmC,KAAOvB,EAAAwB,mBAAWnmC,EAAAvS,KAC1BoI,EAAAowC,SAAgBvgC,OAAK,EAAA,EAAA1F,OAK7BnK,EAAOq0C,UAAY,SAAUz8C,GAA7B,MAAOA,GAAAoX,QAAY,SAAU,EACjB,0BAGJpX,EAAIoX,QAAQ,SAAU,EAAlB,sBAGDpX,GAGXoI,EAAOs0C,SAAW,SAAU18C,GAA5B,MAAOk3C,GAAAwB,mBAA0B14C,IAIjCoI,EAAOu0C,iBAAmB,SAAUpsC,GAApC,GAAO1O,IAAA0O,SAAmBA,EAAUmyB,UAAU,EAAAka,YAAAC,OAAAr9C,QAAAwN,KAAA5E,EAAAuwC,UAAAmE,QAAAt9C,QAAAwN,KAAA5E,EAAAytC,WAC1CjrC,GAAIkB,OAAS,sCAAqC,yBAA8BjK,GAChF8J,YAAe,iBAAAC,KAAA,QAKnBxD,EAAO20C,YAAc,aAKrB30C,EAAOgxC,SAAPhxC,EAAO40C,YAAQ,SAAAC,GAEX,GADJn5C,QAAOC,IAAA,YAAck5C,GACL,MAAZA,EAAA,CACA70C,EAAIgxC,MAAA/nC,IAAW4lC,EAAM5Q,OAAA4W,EAAAz9C,QAAAwN,KAAA5E,EAAAkwC,WAAA94C,QAAAwN,KAAA5E,EAAAytC,UAAAr2C,QAAAwN,KAAA5E,EAAAuwC,UACrB,IAAAuE,GAAOz3C,SAAYC,eAAc,SAAOy3C,WAAS,KAC7C/0C,GAAMgxC,MAAAC,SAASjxC,EAAAgxC,MAAeC,QAASC,UAC3ClxC,EAAIgxC,MAAOC,QAAM,GAAS+D,OAAOF,EAAA90C,EAAMgxC,MAAQ/nC,OAInDjJ,EAAOi1C,SAAW,WAAlBj1C,EAAOosC,OAAWhzC,EAAYc,QAAA2I,QAAAupC,OAC1BP,EAAgBzzC,UAAW,EACvB4H,EAAA2vC,aAAa9D,EAAezzC,WAG5B4H,EAAO0vC,oBAGX92C,EAAWqC,OAAX4Q,EAAWtD,iBAAQhP,KAAA,SAAA4Q,GACnBA,GACQnK,EAAAosC,OAAUhzC,EAAAc,QAAA2I,QAAAupC,OACVpsC,EAAO2vC,aAASxlC,EAAW+qC,YAC3B/qC,EAAOgrC,SAAa,GAChBn1C,EAAA2wC,aAAoBxmC,EAAAgrC,QAGxBn1C,EAAOi1C,YACZ,WAAAj1C,EAAAi1C,aAIHj1C,EADGi1C,cAMX79C,QAAQC,OAAO,OAAOkL,QAAQ,iBAAA,cAAiB,SAAUsJ,GAAzD,GAAQupC,IACAxC,KACA3pC,KACIoC,KAAK,OACD5R,MACAgrB,UACI4wB,WACA5yB,MAAW,MACP6a,gBAAO0X,MAAAM,QAAAvc,MAAA,QAAAwc,MAAA,IAAAC,YACPC,YAAA,OACAC,MAAA,EACAC,UAAM,EACNC,YAAU,EACVn8C,UAGJgpB,MAAA,eACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,YAAAwc,MAAA,IAAAC,YACPC,YAAA,WACAC,KAAA,QACAG,YAAM,EACND,YAAa,EACbn8C,UAEDgpB,MAAA,OACC6a,gBAAO0X,MAAAM,QAAAvc,MAAA,cAAAwc,MAAA,IAAAC,YACPC,YAAA,aACAC,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,WACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,SAAAwc,MAAA,IAAAC,YACPC,YAAA,QACAC,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,YACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,UAAAwc,MAAA,IAAAC,YACPC,YAAA,SACAC,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,aACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,UAAAwc,MAAA,IAAAC,YACPC,YAAA,SACAC,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,aACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,aAAAwc,MAAA,IAAAC,YACPC,YAAA,YACAC,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,aACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,OAAAwc,MAAA,IAAAC,YACPC,YAAA,MACAC,KAAA,MACAG,YAAM,EACND,YAAa,EACbn8C,WAIRiB,SAAAo7C,YAAS,EACL79C,OACAgf,SAAO,EACHkY,KAAA,kBAGJ4mB,QAAAC,QACI3qC,KAAQ,OACJyqB,MACAmgB,KAAM,QACFC,gBACAz7B,MAAA,WAIJ07B,aAAc,SAAdl/B,SAAA,EACAm/B,YACAn/B,SAAY,EACRo/B,YAAS,SAGbC,OAAAC,OACIC,UAAO,OACHhX,UAAW,cAKvBiX,QAAAx/B,SAAQ,EACJm/B,YACAn/B,SAAY,EACRo/B,YAAS,YAO7BK,QAAS,SAAUC,EAAMC,GAAzB,GAAAjE,GAASiE,EAAU,GACf,IAAY,IAARjE,EAAJ,CACA,GAAIC,GAAA+D,GAAahE,EAAAA,EACjB,OAAI38B,MAAM+I,MAAQ,IAAA6zB,GAAQ,MAG9BiE,SAAU,SAAUp9C,EAAM03C,GAEtB,IAAKiE,EAAOxC,IAAIkE,OAAQ,CAApB,IAAC,GAAOziC,GAAI5a,EAAA0C,OAAQ,EAAAkY,IAAA,EAAAA,IACfA,GAAQ,GACL+gC,EAAKxC,IAAG3pC,IAAAxP,KAAAgrB,OAAA9U,KAAAojC,OAAAt5C,EAAA4a,GAAA5O,OACR2vC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAAkW,KAAOylC,EAAQxC,IAAA8D,QAAAj9C,EAAA4a,GAAAu8B,YAAApkC,OAAA/S,EAAA4a,GAAAu8B,YAAA18B,WAG/CkhC,EADGxC,IAAA3pC,IAAAxP,KAAAgrB,OAAA9U,KAAA,GAAAvR,OACHg3C,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAIkW,KAAA5T,SAGxCq5C,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,MAA1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,MAC1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,MAC1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,IAC1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,IAC1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,IAC1CylC,EAAOxC,IAAI3pC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK,GAG9CylC,GAAOxC,IAAIkE,QAAS,EAKxB,MAHI3F,GAAI74C,SAAW,IAAf88C,EAAIxC,IAAA3pC,IAAWxP,KAAG47C,SAAA,GAAA57C,KAAAA,EAAA0C,QAAAg1C,EAAAP,YAAAiC,KAGfz7C,QAAQwN,KAAKwwC,EAAOxC,IAAI3pC,OAGvC0tC,MAAA1tC,KACIoC,KAAK,OACD5R,MACAgrB,UACI4wB,WACA5yB,MAAW,OACP6a,gBAAO0X,MAAAM,QAAAvc,MAAA,QAAAwc,MAAA,IAAAC,YACPC,YAAA,OACAC,MAAA,EACAC,UAAM,EACNC,YAAU,EACVn8C,UAGJgpB,MAAA,eACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,cAAAwc,MAAA,IAAAC,YACPC,YAAA,aACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,sBACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,SAAAwc,MAAA,IAAAC,YACPC,YAAA,QACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,WAKRiB,SAAAo7C,YAAS,EACL79C,OACAgf,SAAO,EACHkY,KAAA,mBAGJ4mB,QAAAC,QACI3qC,KAAQ,OACJyqB,MACAmgB,KAAM,QACFC,gBACAz7B,MAAA,WAIJ07B,aAAc,SAAdl/B,SAAA,EACAm/B,YACAn/B,SAAY,EACRo/B,YAAS,SAGbC,OAAAC,OACIC,UAAO,OACHhX,UAAW,cAKvBiX,QAAAx/B,SAAQ,EACJm/B,YACAn/B,SAAY,EACRo/B,YAAS,kBAO7BU,YAAa,SAAUC,EAAMC,GAA7B,GAAAC,GAAuB,KAAVF,EAAgB,IAAA,CACzB,OAAIC,GAAe,KAAMA,EAAM,KAAAC,GAGnCL,SAAU,SAAUp9C,EAAM09C,EAAKhG,GAA/BiE,EAAUuB,KAAA1tC,IAAUxP,KAAAgrB,UAChB2wB,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAS,GAAA57C,QAC9B27C,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAS,GAAG57C,QACjC27C,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAS,GAAG57C,OAEjC,KAAI,GADJ29C,GAAYhC,EAASuB,KAAAI,YAAYI,EAAOzJ,OAAAyD,EAAAP,YAAA18B,QACpCG,EAAA5a,EAAU0C,OAAY,EAAAkY,IAAA,EAAYA,IACjCA,GAAQ,GACL+gC,EAAKuB,KAAG1tC,IAAAxP,KAAAgrB,OAAA9U,KAAAojC,OAAAt5C,EAAA4a,GAAA5O,OACR2vC,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAAkW,KAAOlW,EAAQ4a,GAAAu8B,YAAApkC,UAIhD4oC,EADCuB,KAAA1tC,IAAAxP,KAAAgrB,OAAA9U,KAAA,GAAAvR,OACDg3C,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAIkW,KAAA5T,SAGzCq5C,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAKynC,GAA3ChC,EAAOuB,KAAK1tC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAKwhC,EAAAP,YAAA18B,OAAA,IAM/C,OAJCi9B,GAAA74C,SAAA,IACG88C,EAAIuB,KAAA1tC,IAAWxP,KAAG47C,SAAA,GAAA57C,KAAAA,EAAA0C,QAAAg1C,EAAAP,YAAApkC,QAGfpV,QAAQwN,KAAKwwC,EAAOuB,KAAK1tC,OAIxCouC,KAAApuC,KACIoC,KAAK,OACD5R,MACAgrB,UACI4wB,WACA5yB,MAAW,WACP6a,gBAAO0X,MAAAM,QAAAvc,MAAA,QAAAwc,MAAA,IAAAC,YACPC,YAAA,OACAC,MAAA,EACAC,UAAM,EACNC,YAAU,EACVn8C,UAGJgpB,MAAA,MACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,cAAAwc,MAAA,IAAAC,YACPC,YAAA,aACAC,KAAA,EACA4B,YAAM,EACNzB,YAAa,EACbD,YAAa,EACbn8C,UAEDgpB,MAAA,MACC6a,gBAAO0X,MAAAM,QAAAvc,MAAA,cAAAwc,MAAA,IAAAC,YACPC,YAAA,aACA6B,YAAa,EACb5B,KAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,WAIRiB,SAAAo7C,YAAS,EACL79C,OACAgf,SAAO,EACHkY,KAAA,kEAGJ4mB,QAAAC,QACIG,aAAQ,SACJl/B,SAAA,EACAm/B,YACAn/B,SAAY,EACRo/B,YAAS,wBAGbC,OAAAC,OACIC,UAAO,OACHhX,UAAW,cAKvBiX,QAAAx/B,SAAQ,EACJm/B,YACAn/B,SAAY,EACRo/B,YAAS,iBAO7BkB,SAAU,SAAU99C,EAAM03C,GAA1B,GAAAyB,GAAUwC,EAAUxC,IAAA8D,QAAWvF,EAAAP,YAAA4B,oBAAArB,EAAAP,YAAA18B,QACvB4Q,EAAM,KACN4J,EAAM,IACNkkB,IAAM,OACN9tB,EAAA,KAAO4J,EAAM,MAGbkkB,GAAO,KAAP9tB,EAAA,KAAW4J,EAAA,MAGXkkB,GAAO,KAAP9tB,EAAA,KAAW4J,EAAA,MAIf0mB,EAAOiC,IAAIpuC,IAAIxP,KAAKgrB,UAApB2wB,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAS,GAAA57C,QAC7B27C,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAS,GAAG57C,QAChC27C,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAS,GAAG57C,OAEhC,KAAI,GADJie,GAAO09B,EAAQiC,IAAA59C,KACP4a,EAAA,EAAOA,EAAIqD,EAAAvb,OAAAkY,IACnB+gC,EAASiC,IAAIpuC,IAAGxP,KAAMgrB,OAAQ9U,KAAK+H,EAAArD,GAAA3B,GAC/B0iC,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAKkW,KAAA5T,QACrCq5C,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAArD,GAAAyQ,IAC1CswB,EAAOiC,IAAIpuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAM+H,EAAErD,GAAIqa,GAIrD,KAAI,GAAA8oB,GAAM/9C,EAAK0C,OAAS,GAAK1C,EAAK0C,OAAS,GAAvCkY,EAAM,EAAKA,EAAAmjC,EAASnjC,IACxB,GAAK5a,EAAQ4a,GAAGu8B,YAAS2B,UAAK94C,EAAA4a,GAAAu8B,YAAAqC,iBAAA,EAAA,CACtB,GAAArjC,GAAQwlC,EAAAiC,IAAYpuC,IAAAxP,KAAYgrB,OAAKzV,QAAGvV,EAAY4a,GAAAu8B,YAAAqC,iBAChDrjC,MAAQ,IACRwlC,EAAAiC,IAAWpuC,IAAAxP,KAAA47C,SAAA,GAAA57C,KAAAmW,GAAAnW,EAAA4a,GAAAu8B,YAAApkC,OAAA2kC,EAAAP,YAAA4B,qBAIvB,GAAIrB,EAAI74C,SAAW,EAAG,CAAlB,GAAIsX,GAAAwlC,EAAciC,IAAApuC,IAAAxP,KAAAgrB,OAAAzV,QAAAmiC,EAAAP,YAAAqC,iBACdrjC,MAAQ,IACRwlC,EAAAiC,IAAWpuC,IAAAxP,KAAA47C,SAAA,GAAA57C,KAAAmW,GAAAuhC,EAAAP,YAAApkC,OAAA2kC,EAAAP,YAAA4B,qBAInB,MAAOp7C,SAAQwN,KAAKwwC,EAAOiC,IAAIpuC,MAGnC4tC,SAAU,SAAUp9C,EAAM03C,GAA1B,MAAAiE,GAAUiC,IAAUP,OAQX1B,EAAAiC,IAAAE,SAAA99C,EAAA03C,OAPDtlC,GAAYjD,WAAQ6uC,OAAA,IAAAl+C,KAAA,SAAA4R,GAGhB,MAFJiqC,GAAAiC,IAAY59C,KAAU0R,EAAE45B,MACpBqQ,EAAOiC,IAAIP,QAAO,EACX1B,EAAIiC,IAAAE,SAAS99C,EAAA03C,OAWpCuG,KAAAzuC,KACIoC,KAAK,OACD5R,MACAgrB,UACI4wB,WACA5yB,MAAW,OACP6a,gBAAO0X,MAAAM,QAAAvc,MAAA,QAAAwc,MAAA,IAAAC,YACPC,YAAA,OACAC,MAAA,EACAC,UAAM,EACNC,YAAU,EACVn8C,UAGJgpB,MAAA,MACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,OAAAwc,MAAA,IAAAC,YACPC,YAAA,MACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAEDgpB,MAAA,OACC6a,gBAAO0X,MAAAM,QAAAvc,MAAA,UAAAwc,MAAA,IAAAC,YACPC,YAAA,SACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,OACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,SAAAwc,MAAA,IAAAC,YACPC,YAAA,QACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAEDgpB,MAAA,OACC6a,gBAAO0X,MAAAM,QAAAvc,MAAA,UAAAwc,MAAA,IAAAC,YACPC,YAAA,SACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,UAGJgpB,MAAA,OACI6a,gBAAO0X,MAAAM,QAAAvc,MAAA,OAAAwc,MAAA,IAAAC,YACPC,YAAA,MACAC,MAAA,EACAG,YAAM,EACND,YAAa,EACbn8C,WAIRiB,SAAAo7C,YAAS,EACL79C,OACAgf,SAAO,EACHkY,KAAA,iDAGJ4mB,QAAAC,QACIG,aAAQ,SACJl/B,SAAA,EACAm/B,YACAn/B,SAAY,EACRo/B,YAAS,wBAGbC,OAAAC,OACIC,UAAO,OACHhX,UAAW,cAKvBiX,QAAAx/B,SAAQ,EACJm/B,YACAn/B,SAAY,EACRo/B,YAAS,gBAO7BkB,SAAU,SAAU99C,EAAK03C,GAAzB,GAAAA,EAAU74C,SAAU,EAAK,CACjB,GAAIsX,GAAAwlC,EAAcsC,IAAAzuC,IAAAxP,KAAAgrB,OAAAzV,QAAAmiC,EAAAP,YAAAqC,iBACdrjC,MAAQ,IACRwlC,EAAAsC,IAAWzuC,IAAAxP,KAAA47C,SAAA,GAAA57C,KAAAmW,GAAA,IAAAuhC,EAAAP,YAAA+G,WAGnB,MAAOvgD,SAAQwN,KAAKwwC,EAAOsC,IAAIzuC,MAEnC4tC,SAAU,SAAUp9C,EAAM03C,GAA1B,MAAAiE,GAAUsC,IAAUZ,OA0BL1B,EAAOsC,IAAIH,SAAS99C,EAAM03C,OAzBjCtlC,GAAYjD,WAAQ6uC,OAAA,IAAAl+C,KAAA,SAAA4R,GAEhB,IAAI,GADRuM,GAAY09B,EAAAsC,IAAUj+C,KAAE0R,EAAQ45B,MACpB1wB,EAAA,EAAOA,EAAIqD,EAAAvb,OAAWkY,IAC9B+gC,EAASsC,IAAIzuC,IAAGxP,KAAMgrB,OAAQ9U,KAAK+H,EAAArD,GAAA3B,GAC/B0iC,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAO,GAAK57C,KAAKkW,KAAA5T,QACrCq5C,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAArD,GAAAujC,IAC1CxC,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAErD,GAAGwjC,IAC/CzC,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAErD,GAAGyjC,IAC/C1C,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAErD,GAAG0jC,IAC/C3C,EAAOsC,IAAIzuC,IAAIxP,KAAK47C,SAAS,GAAG57C,KAAKkW,KAAK+H,EAAErD,GAAG2jC,GAGnD,KAAI,GAAAR,GAAM/9C,EAAK0C,OAAS,GAAK1C,EAAK0C,OAAS,GAAvCkY,EAAM,EAAKA,EAAAmjC,EAASnjC,IACxB,GAAK5a,EAAQ4a,GAAGu8B,YAAS2B,UAAK94C,EAAA4a,GAAAu8B,YAAAqC,iBAAA,GAAA,CACtB,GAAArjC,GAAQwlC,EAAAsC,IAAYzuC,IAAAxP,KAAYgrB,OAAKzV,QAAGvV,EAAY4a,GAAAu8B,YAAAqC,iBAChDrjC,MAAQ,IACRwlC,EAAAsC,IAAWzuC,IAAAxP,KAAA47C,SAAA,GAAA57C,KAAAmW,GAAA,IAAAnW,EAAA4a,GAAAu8B,YAAA+G,WAIvB,MAAAvC,GAAOsC,IAAIZ,QAAS,EAAb1B,EAAIsC,IAAAH,SAAS99C,EAAA03C,QAWpCrvC,GAAAm8B,OAAO,SAAA4W,EAAA3E,EAAAzC,EAAA8C,GACP,OAAQsE,GAGA,IAAK,IAAK,MAAOO,GAAOuB,KAAKE,SAAS3G,EAAWzC,EAAU8C,EAA3D,KAAK,IAAK,MAAO6E,GAAOxC,IAAAiE,SAAK3G,EAASK,EACtC,KAAK,IAAK,MAAO6E,GAAOiC,IAAIR,SAAS3G,EAAWK,EAChD,KAAK,IAAK,MAAO6E,GAAOsC,IAAIb,SAAS3G,EAAWK,KAM5D,OAAOzuC,KAEX,IAAI3K,KAAMC,QAAQC,OAAO,MAAzBF,KAAIe,WAAM,8BAAA,SAAA,oBAAA,OAAA,OAAA,aAAe,SAAA8H,EAAA6tB,EAAAihB,EAAAr1C,EAAAL,GAGrB4G,EAAOi4C,GAAK7gD,QAAQwN,KAAKnL,GAAzBuG,EAAOi4C,GAAAtG,KAAK7C,EAAQjU,YAAK76B,EAAAi4C,GAAAtG,MACzB3xC,EAAOi4C,GAAGrG,OAAO9C,EAAKjU,YAAY76B,EAAOi4C,GAAGrG,QAC5C5xC,EAAOi4C,GAAGpG,KAAA/C,EAASjU,YAAK76B,EAAYi4C,GAAOpG,MAG3C7xC,EAAOiG,OAAS,WAAhB4nB,EAAgB1C,QAAY,WAI5BnrB,EAAOk4C,KAAO,WAAdrqB,EAAcnX,MAAY,IAI1B1W,EAAOm4C,IAAM,WAAbtqB,EAAanX,MAAU,IAIvB1W,EAAOgkC,WAAPvnC,MAAOuD,GAIPA,EAAOikC,cAAPrB,UAAO,EACH9C,aAAU,EACVC,YAMJ//B,EAAOosC,OAAShzC,EAAWc,QAAQ2I,QAAQupC,SAG/C,IAAIj1C,KAAMC,QAAQC,OAAO,MAEzBF,KAAIe,WAAW,0BAAA,SAAA,aAAA,UAAA,oBAAA,UAAA,cAAA,YAAA,KAAA,OAA0B,SAAU8H,EAAQpH,EAAWmG,EAAS8uB,EAAmBrrB,EAAQqJ,EAAa7S,EAAW+P,EAAItP,GAElIuG,EAAOgkC,WAAPvnC,MAAOuD,GAIPA,EAAOikC,cAAPrB,UAAO,EACH9C,aAAU,EACVC,UAEHnlC,KADG,eAASolC,OAAA,OAAA,SAAA,YAAA,gBAAA,IAAA,YAAA,cAAA,aAAA,eAAA,OACZplC,KAAM,YAAAolC,MAAgBpnC,EAAQqC,WAAkB,cAAa,gBAAsB,UAAA,SAAa,OAChGL,KAAM,QAAAolC,MAAapnC,EAAOqC,WAAoB,mBAAqB,OAAA,OAAiB,OACpFL,KAAM,SAASolC,OAAO,YAAW,kBAAe,OAChDplC,KAAM,QAAAolC,MAAUpnC,EAAQqC,WAAa,QAAmB,KAAA,UAAA,OAAA,SAAA,OACxDL,KAAM,QAASolC,OAAO,QAAA,OACtBplC,KAAM,UAASolC,OAAQ,OAAS,WAMjChgC,EAAOo4C,QAAU3+C,EAAK6gC,SAEtBt6B,EAAOiG,OAAS,WAAhB4nB,EAAgB1C,QAAY,WAI5BnrB,EAAOqrC,GAAK,WAAZrrC,EAAOiG,UAIPjG,EAAOkkC,QAEP,IAAImU,GAAoB,SAAUlwC,GAE9B,GAAIgD,IAAQhD,SAAUA,GAAlBmwC,KACAj2C,EAAYrJ,EAAAqJ,mBACZ4H,EAAAlB,EAAAmB,QACAquC,GAAA,CACJ,QAAI9+C,EAAQ0O,UACZ,IAAQ,GACC9F,EAAA8vC,YACGmG,EAAA3oC,KAAAtN,EAA4B8vC,WAC5BmG,EAAU3oC,KAAKtN,EAAiBm2C,gBAChCD,GAAA,EAGJ,MACJ,KADI,GACJ,IAAK,GACAl2C,EAAA+vC,WACGkG,EAAA3oC,KAAAtN,EAA2B+vC,UAC3BkG,EAAU3oC,KAAKtN,EAAiBo2C,eAChCF,GAAA,EAGJ,MACJ,KADI,GACCl2C,EAAAsvC,OACG2G,EAAA3oC,KAAAtN,EAAuBsvC,MACvB4G,GAAA,EAGJ,MACJ,SAAAtuC,EAAAO,SAeJ,MAXI+tC,IAAAptC,EAAAmtC,UAAMA,EACNruC,EAAIG,QAAYe,IAIpBU,EAAA3D,mBAAAC,GAAA5O,KAAA,SAAA4Q,GACIgB,EAAAmtC,UAAYnuC,EACRF,EAAIG,QAAYe,KAIjBlB,EAASQ,SAIhBiuC,EAAkB,SAAUC,EAAgBC,EAAcC,GAC9D,GAAA,IAAAF,EAAAx8C,QAAA,IAAAy8C,EAAAz8C,QAAA,IAAA08C,EAAA18C,OAAA,MAAAw8C,EACI,IAAI3Y,GAAA,EAKJ,OAJA5oC,SAAIwX,QAAQiqC,EAAA,SAAAxkC,EAAAnU,GACZ8/B,GAAQ4Y,EAAQn5C,QAAY,aAAgB4U,EAAA2iB,UAAAv3B,QAAA,iBAAA4U,EAAAm/B,qBAAA/zC,QAAA,iBAAA4U,EAAAg/B,kBAGrCsF,EAAel5C,QAAQ,kBAAmBugC,IAGjD8Y,EAAc,SAAUH,EAAgBjE,GAC5C,MAAA,KAAAiE,EAAAx8C,QAAAu4C,EACQiE,EACJl5C,QAAO,aAAAi1C,EAAA/F,UACFlvC,QAAQ,aAAci1C,EAAQqE,SAHvCJ,GAQIK,EAAa,SAAUL,EAAgBlE,GAAvC,GAAuB,IAAvBkE,EAAax8C,SAAUs4C,EAAgB,MAAQkE,EAG/C,IAAIhH,GAAO8C,EAAO9C,IAIlB,OAJI8C,GAAOvC,WACPP,EAACA,EAAOlyC,QAAA,OAAA,SAAAA,QAAA,KAAA,SAAAA,QAAA,KAAA,UAGLk5C,EAAPl5C,QAAO,iBAAAkyC,GACFlyC,QAAQ,cAAAV,EAAkB,QAAA01C,EAAAhvC,KAAA,eAC1BhG,QAAQ,YAAAg1C,EAAe1F,KACvBtvC,QAAQ,SAAAg1C,EAAa7D,YAAOpkC,QAC5B/M,QAAQ,eAAUg1C,EAAOhC,WAAYwG,wBACrCx5C,QAAQ,eAAgBg1C,EAAOhC,WAAWyG,wBAI/CC,EAAa,SAAUb,GAAvB,GAAAK,GAAaL,EAAUA,UAAW,GAC9BM,EAAqC,GAArCN,EAAiBA,UAAUn8C,OAAUm8C,EAAAA,UAAA,GAAA,GACrCO,IACJ,QAAIP,EAAanwC,UACjB,IAAQ,GAAA0wC,EAAUp/C,EAAA+6C,WAAAC,OAAAtC,SAAA,MACd,KAAK,GAAG0G,EAAap/C,EAAK+6C,WAAWC,OAAOrC,QAAA,MAC5C,KAAK,GAAGyG,EAAap/C,EAAK+6C,WAAWC,OAAOpC,UAIhDryC,EAAOknC,UAAYwR,EAAgBM,EAAWF,EAAYH,EAAgBl/C,EAAK+6C,WAAWE,SAAUj7C,EAAK+6C,WAAWC,QAASmE,EAAcC,GAG/IR,GAAkB5+C,EAAK0O,UAAU5O,KAAK4/C,MAI1C/hD,QAAQC,OAAO,OAAOsB,KAAK,iBAAkB,SAASygD,GAAiBA,EAAe5uB,IAAI,yBAAyB,ktEAAnH4uB,EAAe5uB,IAAA,+BAA8B,ylEAC7C4uB,EAAe5uB,IAAI,iCAA+B,kxDAClD4uB,EAAe5uB,IAAI,+BAAA,0xDACnB4uB,EAAe5uB,IAAI,2CAA+B;AAClD4uB,EAAe5uB,IAAI,qCAAA,quFACnB4uB,EAAe5uB,IAAI,mCAAA,wjIACnB4uB,EAAe5uB,IAAI,mCAAmC,qmZACtD4uB,EAAe5uB,IAAI,+CAAmC,s1DACtD4uB,EAAe5uB,IAAI,uCAAA,yhHACnB4uB,EAAe5uB,IAAI,iCAAA;AACnB4uB,EAAe5uB,IAAI,0CAAiC,q/CACpD4uB,EAAe5uB,IAAI,sCAAA,yyBACnB4uB,EAAe5uB,IAAI,6BAAA","file":"scripts/app-5f2a6fc99a.js","sourcesContent":["var app = angular.module(\"app\",\r\n [\"ui.bootstrap\",\r\n //\"ngRoute\",\r\n //\"Authentication\",\r\n //\"ngCookies\",\r\n \"ngAnimate\",\r\n \"ngMessages\",\r\n \"ngTouch\",\r\n //\"LocalStorageModule\", \r\n \"ngSanitize\",\r\n 'angularCSS',\r\n 'uiSwitch',\r\n \"ng.deviceDetector\",\r\n \"ngWYSIWYG\",\r\n \"services\",\r\n 'ui.router'\r\n //,'chart.js'\r\n //'aur0nPopUpMessage'\r\n ])\r\n .config(function ($httpProvider, $stateProvider, $urlRouterProvider) {\r\n\r\n $urlRouterProvider.otherwise('/login');\r\n\r\n $stateProvider\r\n .state('app', {\r\n url: '/app',\r\n abstract: true,\r\n templateUrl: 'app/layout/layout.html' \r\n })\r\n .state('login', {\r\n url: '/login',\r\n params: {\r\n errorMsg: null\r\n },\r\n title: 'Inicio Sesión', \r\n templateUrl: 'app/pages/login/login.html',\r\n controller: 'loginController'\r\n })\r\n .state('app.appointments', {\r\n url: '/appointments',\r\n params: {\r\n apptView: null\r\n },\r\n title: 'Citas',\r\n templateUrl: 'app/pages/appointments/appointments.html',\r\n controller: 'appointmentsController'\r\n })\r\n .state('app.awaydates', {\r\n url: '/awaydates',\r\n title: 'Fechas Libres',\r\n templateUrl: 'app/pages/awaydates/awaydates.html',\r\n controller: 'awaydatesController'\r\n })\r\n .state('app.records', {\r\n url: '/records?patientId',\r\n params: {\r\n patientId: null,\r\n apptId: null,\r\n recordId: null\r\n },\r\n title: 'Consultas',\r\n templateUrl: 'app/pages/records/records.html',\r\n controller: 'recordsController'\r\n })\r\n .state('app.profile', {\r\n url: '/profile',\r\n title: 'Perfil',\r\n templateUrl: 'app/pages/account/profile.html',\r\n controller: 'profileController'\r\n });\r\n\r\n //$routeProvider\r\n // .when(\"/\", {\r\n // controller: \"CitasController\",\r\n // templateUrl: \"templates/citas.html\",\r\n // css: \"css/sidebar-menu-desktop\"\r\n // })\r\n // .when(\"/agendarpaciente/:idpaciente\", {\r\n // controller: \"CitasController\",\r\n // templateUrl: \"templates/citas.html\",\r\n // css: \"css/sidebar-menu-desktop\"\r\n // })\r\n // .when(\"/medicalrecords\", {\r\n // controller: \"ConsultaController\",\r\n // templateUrl: \"templates/consulta.html\"\r\n // })\r\n // .when(\"/consulta/paciente/:idpaciente\", {\r\n // controller: \"ConsultaController\",\r\n // templateUrl: \"templates/consulta.html\"\r\n // })\r\n // .when(\"/medicalrecords/paciente/:idpaciente/cita/:idcita\", {\r\n // controller: \"ConsultaController\",\r\n // templateUrl: \"templates/consulta.html\"\r\n // })\r\n // .when(\"/pacientes/:id\", {\r\n // controller: \"PacienteController\",\r\n // templateUrl: \"templates/paciente.html\"\r\n // })\r\n // .when(\"/fechaslibres\", {\r\n // controller: \"FechasLibresController\",\r\n // templateUrl: \"templates/fechaslibres.html\"\r\n // })\r\n // .when(\"/login\", {\r\n // controller: \"LoginController\",\r\n // templateUrl: \"login.htm\"\r\n // })\r\n // .when(\"/config\", {\r\n // controller: \"ConfigController\",\r\n // templateUrl: \"templates/configtemplate.html\"\r\n // })\r\n // .when(\"/catalogos\", {\r\n // controller: \"CatalogoMenuCtrl\",\r\n // templateUrl: \"templates/catalogos.html\"\r\n // })\r\n // .when(\"/accounts\", {\r\n // controller: \"AccountsController\",\r\n // templateUrl: \"templates/accounts.html\"\r\n // });\r\n\r\n $httpProvider.defaults.useXDomain = true;\r\n delete $httpProvider.defaults.headers.common[\"X-Requested-With\"];\r\n})\r\n .run(['$rootScope', '$location', '$state', '$http', 'appConfig', '$window', \"deviceDetector\", \"$httpService\", \"appService\",\"saldoService\",\r\n function ($rootScope, $location, $state, $http, appConfig, $window, deviceDetector, $httpService, appService,saldoService) {\r\n\r\n $http.get('config.json').then(function (config) {\r\n $httpService.setBaseUrl(config.data.apiServerUrl);\r\n appService.storage.set(\"mediaUrl\", config.data.mediaUrl);\r\n $rootScope.config = config.data;\r\n appService.ready.isReady(\"server url\");\r\n appService.catalogs.load();\r\n appService.session.load();\r\n saldoService.init(); \r\n }); \r\n \r\n $rootScope.$on('$stateChangeStart',\r\n function (event, toState, toParams, fromState, fromParams, options) {\r\n event.preventDefault();\r\n if (fromState.name != 'login' && !appService.session.isAuthenticated) {\r\n $$state.go('login');\r\n }\r\n });\r\n\r\n \r\n \r\n \r\n if ($window.innerWidth > 992) {\r\n $rootScope.mobile = false;\r\n }\r\n\r\n /* windows resize*/\r\n var w = angular.element($window);\r\n $rootScope.$watch(\r\n function () {\r\n $rootScope.mobile = $window.innerWidth < 992;\r\n },\r\n function (value) {\r\n $rootScope.windowWidth = value;\r\n },\r\n true\r\n );\r\n\r\n w.bind('resize', function () {\r\n $rootScope.$apply();\r\n });\r\n /* ned window resize*/\r\n\r\n /*device detectot*/\r\n var dev = deviceDetector;\r\n console.log(dev);\r\n $rootScope.os = dev.os;\r\n /*end device detector*/\r\n\r\n\r\n //$rootScope.preferencias = localStorageService.get('preferencias') || { template: 'siiweb' };\r\n //$rootScope.theme = 'siiweb';\r\n $rootScope.theme = appConfig.globals().theme ? appConfig.globals().theme : 'siiweb';\r\n $rootScope.$watch('theme', function (value) {\r\n if (value != undefined) {\r\n $rootScope.theme = value;\r\n //console.log($rootScope.theme);\r\n }\r\n });\r\n\r\n $rootScope.getLinesInStr = function (str) {\r\n if (!str) return 0;\r\n return str.split(/\\r\\n|\\r|\\n/).length;\r\n };\r\n}]);\r\n\r\n\r\n\r\napp.directive('confirm', [function() {\r\n return {\r\n priority: 100,\r\n restrict: 'A',\r\n link: {\r\n pre: function(scope, element, attrs) {\r\n var msg = attrs.confirm || \"Esta seguro?\";\r\n\r\n element.bind('click', function(event) {\r\n if (!confirm(msg)) {\r\n event.stopImmediatePropagation();\r\n event.preventDefault;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n}]);\r\n\r\napp.directive('selectOnClick', function () {\r\n // Linker function\r\n return function (scope, element, attrs) {\r\n element.bind('click', function () {\r\n this.select();\r\n });\r\n };\r\n});\r\n\r\napp.directive('focus',\r\nfunction ($timeout) {\r\n return {\r\n scope: {\r\n trigger: '@focus'\r\n },\r\n link: function (scope, element) {\r\n scope.$watch('trigger', function (value) {\r\n if (value === \"true\") {\r\n $timeout(function () {\r\n element[0].focus();\r\n element[0].select();\r\n });\r\n }\r\n });\r\n }\r\n };\r\n});\r\n\r\n\r\n\r\napp.factory('focus', function($timeout, $window) {\r\n return function(id) {\r\n // timeout makes sure that it is invoked after any other event has been triggered.\r\n // e.g. click events that need to run before the focus or\r\n // inputs elements that are in a disabled state but are enabled when those events\r\n // are triggered.\r\n $timeout(function() {\r\n var element = $window.document.getElementById(id);\r\n if(element)\r\n element.focus();\r\n });\r\n };\r\n});\r\n\r\napp.directive('eventFocus', function(focus) {\r\n return function(scope, elem, attr) {\r\n elem.on(attr.eventFocus, function() {\r\n focus(attr.eventFocusId);\r\n });\r\n\r\n // Removes bound events in the element itself\r\n // when the scope is destroyed\r\n scope.$on('$destroy', function() {\r\n elem.off(attr.eventFocus);\r\n });\r\n };\r\n});\r\n\r\napp.directive('sidebarDirective', function () {\r\n return {\r\n link: function (scope, element, attr) {\r\n scope.$watch(attr.sidebarDirective, function (newVal) {\r\n if (newVal) {\r\n element.addClass('show');\r\n return;\r\n }\r\n element.removeClass('show');\r\n });\r\n }\r\n };\r\n});\r\n\r\napp.directive('ngTap',[ function () {\r\n return function (scope, element, attrs) {\r\n var tapping;\r\n tapping = false;\r\n if (scope.os === \"ios\" || scope.os === \"android\") {\r\n element.bind('touchstart', function(e) {\r\n element.addClass('active');\r\n tapping = true;\r\n });\r\n element.bind('touchmove', function(e) {\r\n element.removeClass('active');\r\n tapping = false;\r\n });\r\n element.bind('touchend', function(e) {\r\n element.removeClass('active');\r\n if (tapping) {\r\n scope.$apply(attrs['ngTap'], element);\r\n }\r\n });\r\n } else {\r\n element.bind('click', function(e) {\r\n element.removeClass('active');\r\n scope.$apply(attrs['ngTap'], element);\r\n\r\n });\r\n }\r\n };\r\n}]);\r\n\r\n// no funciona\r\nangular.module('app').directive('dateInput', function () {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n ngModel: '='\r\n },\r\n link: function (scope) {\r\n if (scope.ngModel) scope.ngModel = new Date(scope.ngModel);\r\n }\r\n }\r\n});\r\n\r\napp.directive('dateFormat', function() {\r\n return {\r\n require: 'ngModel',\r\n link: function(scope, element, attr, ngModelCtrl) {\r\n //Angular 1.3 insert a formater that force to set model to date object, otherwise throw exception.\r\n //Reset default angular formatters/parsers\r\n ngModelCtrl.$formatters.length = 0;\r\n ngModelCtrl.$parsers.length = 0;\r\n }\r\n };\r\n });\r\n\r\nangular.module('app').filter('capitalize', function () {\r\n return function (input) {\r\n return (!!input) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : '';\r\n }\r\n});\r\n\r\n\r\nangular.module('app').directive(\"decimals\", function ($filter) {\r\n return {\r\n restrict: \"A\", // Only usable as an attribute of another HTML element\r\n require: \"?ngModel\",\r\n scope: {\r\n decimals: \"@\",\r\n decimalPoint: \"@\"\r\n },\r\n link: function (scope, element, attr, ngModel) {\r\n var decimalCount = parseInt(scope.decimals) || 0;\r\n var decimalPoint = scope.decimalPoint || \".\";\r\n\r\n // Run when the model is first rendered and when the model is changed from code\r\n ngModel.$render = function () {\r\n if (ngModel.$modelValue != null && ngModel.$modelValue >= 0) {\r\n if (typeof decimalCount === \"number\") {\r\n element.val(ngModel.$modelValue.toFixed(decimalCount).toString().replace(\",\", \".\"));\r\n } else {\r\n element.val(ngModel.$modelValue.toString().replace(\",\", \".\"));\r\n }\r\n }\r\n else\r\n element.val(undefined);\r\n }\r\n\r\n // Run when the view value changes - after each keypress\r\n // The returned value is then written to the model\r\n ngModel.$parsers.unshift(function (newValue) {\r\n if (typeof decimalCount === \"number\") {\r\n var floatValue = parseFloat(newValue.replace(\",\", \".\"));\r\n if (decimalCount === 0) {\r\n return parseInt(floatValue);\r\n }\r\n return parseFloat(floatValue.toFixed(decimalCount));\r\n }\r\n\r\n return parseFloat(newValue.replace(\",\", \".\"));\r\n });\r\n\r\n // Formats the displayed value when the input field loses focus\r\n element.on(\"change\", function (e) {\r\n var floatValue = parseFloat(element.val().replace(\",\", \".\"));\r\n if (!isNaN(floatValue) && typeof decimalCount === \"number\") {\r\n if (decimalCount === 0) {\r\n element.val(parseInt(floatValue));\r\n } else {\r\n var strValue = floatValue.toFixed(decimalCount);\r\n element.val(strValue.replace(\".\", decimalPoint));\r\n }\r\n }\r\n });\r\n }\r\n }\r\n});\r\n\r\nangular.module('app').directive(\"moveNext\", function() {\r\n return {\r\n restrict: \"A\",\r\n link: function($scope, element) {\r\n element.bind(\"keyup\", function(e) { \r\n var l = parseInt(element.attr(\"on-length\") || \"9999999999999\");\r\n var k = parseInt(element.attr(\"on-keycode\") || \"-1\");\r\n if (element.val().length === l || e.which == k)\r\n {\r\n var target = document.getElementById(element.attr(\"to-id\"));\r\n console.log(target);\r\n if(target)\r\n target.focus();\r\n } \r\n });\r\n if(event)\r\n event.preventDefault();\r\n }\r\n }\r\n});\r\n\r\n\n(function () {\r\n 'use strict';\r\n\r\n var app = angular.module(\"services\", [\"aur0nHttpService\", \"LocalStorageModule\", \"dialogs.main\", \"ngFileUpload\"])\r\n .config(function (localStorageServiceProvider, dialogsProvider,$translateProvider) {\r\n localStorageServiceProvider.setPrefix('sigeeOnline');\r\n dialogsProvider.setSize('md');\r\n dialogsProvider.useBackdrop('static');\r\n dialogsProvider.useEscClose(false);\r\n dialogsProvider.useCopy(false);\r\n //dialogsProvider.useFontAwesome(true);\r\n\r\n $translateProvider.translations('es-MX',{\r\n DIALOGS_ERROR: \"Error\",\r\n DIALOGS_ERROR_MSG: \"Se ha producido un error desconocido.\",\r\n DIALOGS_CLOSE: \"Cerrar\",\r\n DIALOGS_PLEASE_WAIT: \"Espere por favor\",\r\n DIALOGS_PLEASE_WAIT_ELIPS: \"Espere por favor...\",\r\n DIALOGS_PLEASE_WAIT_MSG: \"Esperando en la operacion para completar.\",\r\n DIALOGS_PERCENT_COMPLETE: \"% Completado\",\r\n DIALOGS_NOTIFICATION: \"Notificacion\",\r\n DIALOGS_NOTIFICATION_MSG: \"Notificacion de aplicacion Desconocido.\",\r\n DIALOGS_CONFIRMATION: \"Confirmacion\",\r\n DIALOGS_CONFIRMATION_MSG: \"Se requiere confirmacion.\",\r\n DIALOGS_OK: \"Aceptar\",\r\n DIALOGS_YES: \"Si\",\r\n DIALOGS_NO: \"No\"\r\n });\r\n \r\n $translateProvider.preferredLanguage('es-MX');\r\n })\r\n .run(function ($httpService) {\r\n //$httpService.setBaseUrl(\"http://localhost/nuumedic.restapi/api/\");\r\n\t\t\t//$httpService.setBaseUrl(\"http://medicalsys.net/api/\");\r\n });\r\n\r\napp.factory(\"appConfig\", function (localStorageService) {\r\n var serv = {\r\n globals: function () { return localStorageService.get('globals') || {}; },\r\n setGlobals: function (value) { localStorageService.set('globals', value); },\r\n preferences: function () { return localStorageService.get('preferences') || { apptView: '1', enableHtmlContent : true }; },\r\n setPreferences: function (value) { localStorageService.set('preferences', value); },\r\n setEnableHtmlContent: function (value) {\r\n var pref = this.preferences();\r\n pref.enableHtmlContent = value;\r\n this.setPreferences(pref);\r\n },\r\n reportsTemplates: function () { return localStorageService.get('reportsTemplates') || {}; },\r\n setReportsTemplates: function (value) { localStorageService.set('reportsTemplates', value); },\r\n\r\n };\r\n return serv;\r\n});\r\n\r\napp.service(\"appService\", function (localStorageService, $filter, dialogs, $http, $rootScope) {\r\n var serv = {\r\n ready: {\r\n count: 0,\r\n isReady: function (mod) {\r\n console.log(mod + \" is ready!\");\r\n serv.ready.count++;\r\n if (serv.ready.count === 3){\r\n $rootScope.appReady = true; \r\n }\r\n }\r\n },\r\n\r\n clear : function(){\r\n serv.storage.set(\"usuario\", null);\r\n serv.session.usuario = undefined;\r\n serv.session.isAuthenticated = false;\r\n $http.defaults.headers.common.Authorization = 'Basic'; \r\n },\r\n\r\n storage: {\r\n set: function (key, value) { localStorageService.set(key, value); },\r\n get: function (key, defaultValue) { return localStorageService.get(key) || defaultValue; }\r\n },\r\n\r\n session: {\r\n load: function (usu) {\r\n if (usu) serv.storage.set(\"usuario\", usu);\r\n else usu = serv.storage.get(\"usuario\");\r\n serv.session.usuario = usu;\r\n if (angular.isDefined(usu) && usu !== null && usu.userId > 0 && usu.token) {\r\n $http.defaults.headers.common['Authorization'] = 'Token ' + usu.token;\r\n serv.session.isAuthenticated = true;\r\n }\r\n serv.ready.isReady(\"session\");\r\n },\r\n\r\n isAuthenticated: false,\r\n },\r\n\r\n dialogs: {\r\n notify: function (header, msg) { return dialogs.notify(header, msg, { windowClass: \"modal-info\", size: 'sm' }) },\r\n error: function (header, msg) { return dialogs.error(header, msg, { windowClass: \"modal-danger\" }) },\r\n confirm: function (header, msg) { return dialogs.confirm(header, msg, { windowClass: \"modal-primary\", size: 'sm' }) },\r\n create: function (url, ctrlr, data, opts, ctrlAs) { return dialogs.create(url, ctrlr, data, opts, ctrlAs) },\r\n },\r\n\r\n catalogs: {\r\n load: function (cat) {\r\n if (cat) serv.storage.set(\"catalogos\", cat);\r\n else cat = serv.storage.get(\"catalogos\");\r\n serv.catalogs.all = cat;\r\n serv.catalogs.roles = $filter(\"filter\")(cat, { cat: 'roles' }, true);\r\n serv.catalogs.medicos = $filter(\"filter\")(cat, { cat: 'medicos' }, true);\r\n serv.catalogs.especialidades = $filter(\"filter\")(cat, { cat: 'especialidades' }, true);\r\n serv.catalogs.entidades = $filter(\"filter\")(cat, { cat: 'entidades' }, true);\r\n serv.catalogs.nacionalidades = $filter(\"filter\")(cat, { cat: 'nacionalidades' }, true);\r\n serv.catalogs.ocupaciones = $filter(\"filter\")(cat, { cat: 'ocupaciones' }, true);\r\n serv.catalogs.estadosCiviles = $filter(\"filter\")(cat, { cat: 'estadoCivil' }, true);\r\n serv.catalogs.religiones = $filter(\"filter\")(cat, { cat: 'religiones' }, true);\r\n serv.catalogs.escolaridades = $filter(\"filter\")(cat, { cat: 'escolaridad' }, true);\r\n serv.catalogs.seguros = $filter(\"filter\")(cat, { cat: 'seguros' }, true);\r\n serv.catalogs.tiposSanguineos = $filter(\"filter\")(cat, { cat: 'tipoSanguineo' }, true);\r\n serv.catalogs.tipoCita = $filter(\"filter\")(cat, { cat: 'tipoCita' }, true);\r\n serv.ready.isReady(\"catalogs\");\r\n },\r\n copy: function () { return angular.copy(serv.catalogs); },\r\n getDesc: function (id) { return $filter(\"filter\")(serv.catalogs.all, { id: id }, true)[0].descripcion; },\r\n },\r\n };\r\n\r\n return serv;\r\n});\r\n\r\napp.factory(\"restService\", function ($httpService, appHttpService, Upload) {\r\n var serv = {\r\n /////// v2 //////\r\n direct: function (data) { return appHttpService.post(\"v2/api\", data); },\r\n appConfig: function () { return serv.direct({ name: \"spAplicacion_Config\", params: [] }); },\r\n\r\n /////// End v2 ///////\r\n\r\n\r\n //Config\r\n setBaseUrl: function (baseUrl) { $httpService.setBaseUrl(baseUrl); },\r\n\r\n //Login\r\n login: function (auth, errOptions) { return $httpService.post(\"login\", auth, {}, errOptions); },\r\n\r\n //Appointments\r\n apptsMedics: function () { return appHttpService.get(\"appt/medics\"); },\r\n apptsGetAll: function (date, account, medic) { return appHttpService.get(\"appts?date=\" + date + \"&account=\" + account + \"&medic=\" + medic); },\r\n apptSave: function (appt, option, send) { return appHttpService.post(\"appt?option=\" + option + \"&send=\" + send, appt); },\r\n apptCancel: function (cancel, option) { return appHttpService.post(\"appt/cancel?option=\" + option, cancel); },\r\n apptDelete: function (apptId) { return appHttpService.delete(\"appt/\" + apptId); },\r\n\r\n //AwayDates\r\n awayDateGetAll: function (account, medic) { return appHttpService.get(\"awaydates?account=\" + account + \"&medic=\" + medic); },\r\n awayDateAdd: function (awaydate) { return appHttpService.post(\"awaydate\", awaydate); },\r\n awayDateDelete: function (awaydate) { return appHttpService.post(\"awaydate/delete\", awaydate); },\r\n\r\n //Patients\r\n patientsSearch: function (account, searchText) { return appHttpService.get(\"patients/search?accountId=\" + account + \"&searchText=\" + searchText); },\r\n patientDelete: function (patientId, accountId) { return appHttpService.delete(\"patient?id=\" + patientId + \"&accountId=\" + accountId); },\r\n patientGet: function (patientId, accountId) { return appHttpService.get(\"patient?id=\" + patientId + \"&accountId=\" + accountId); },\r\n patientSave: function (patientView, option) { return appHttpService.post(\"patient?option=\" + option, patientView); },\r\n //HealthRecord\r\n patientGetHealthRecord: function (patientId, accountId) { return appHttpService.get(\"patient/healthrecords?id=\" + patientId + \"&accountId=\" + accountId); },\r\n patientSaveHealthRecord: function (patientHRView) { return appHttpService.post(\"patient/healthrecords\", patientHRView); },\r\n //Files\r\n patientFilesGet: function (patientId) { return appHttpService.get(\"patient/\" + patientId + \"/files/\"); },\r\n patientFilesDelete: function (fileId) { return appHttpService.delete(\"patient/file/\" + fileId); },\r\n patientsFilesAdd: function (patientId, data) { return appHttpService.upload(\"patient/\"+patientId+\"/file/\", data); },\r\n\r\n //Catalogs\r\n catGetUrl: function (cat) {\r\n var url = \"dx\";\r\n switch (cat) {\r\n case 2: url = \"med\"; break;\r\n case 3: url = \"lab\"; break;\r\n case 4: url = \"xray\"; break;\r\n }\r\n return url;\r\n },\r\n catSearch: function (cat, searchText) { return appHttpService.get(\"catalogs/\" + this.catGetUrl(cat) + \"?searchText=\" + searchText); },\r\n catSave: function (cat, item) {\r\n var saveOption = item.id === -1 || item.accountId === 0 ? 1 : 2;\r\n return appHttpService.post(\"catalogs/\" + this.catGetUrl(cat) + \"?saveOption=\" + saveOption, item);\r\n },\r\n catDelete: function (cat, id) { return appHttpService.delete(\"catalogs/\" + this.catGetUrl(cat)+\"/\" + id); },\r\n \r\n //Records\r\n recordsGetAll: function (patientId) { return appHttpService.get(\"records/patient/\" + patientId); },\r\n recordsGet: function (recordId) { return appHttpService.get(\"records/\" + recordId); },\r\n recordsSave: function (recordView, saveOption) { return appHttpService.post(\"records?saveOption=\" + saveOption, recordView); },\r\n\r\n //Records Items\r\n recordsItemDelete: function (cat, id) { return appHttpService.delete(\"records/\" + this.catGetUrl(cat)+\"/\" + id); }, \r\n\r\n //Reports\r\n reportsTemplateGet: function (reportId) { return appHttpService.get(\"reports/templates/\" + reportId); },\r\n\r\n //MyAccount\r\n myAccountChangePassword: function (oldPass, newPass) { return appHttpService.post(\"myaccount/changepassword\", { oldPass: oldPass, newPass: newPass }); },\r\n recordsGetLast: function () { return appHttpService.get(\"account/lastrecord\"); },\r\n\r\n objectToParams: function(data){\r\n return Object.keys(data).map(function(key){ return {name: key, value: data[key]}; })\r\n }, \r\n\r\n //Graficas\r\n chartsGet: function(data) { return serv.direct({ name: \"spGraficasTablas\", params: serv.objectToParams(data) });},\r\n\r\n //Saldos\r\n saldoGet: function(data) { return serv.direct({ name: \"spSaldo_Get\", params: [] });}\r\n\r\n\r\n \r\n\r\n };\r\n return serv;\r\n});\r\n\r\n app.factory(\"appHttpService\", function ($httpService, $httpErrorHandler, dialogs, $state, $rootScope,$q, Upload) {\r\n var serv = {\r\n\r\n getConfig: function(config){\r\n var cfg = config || {};\r\n cfg.silent = angular.isUndefined(cfg.silent)?false:cfg.silent; \r\n cfg.request = cfg.request || {} ;\r\n cfg.error = cfg.error || {};\r\n cfg.error.errorFn = cfg.error.errorFn || ( cfg.silent===true? this.httpErrorMsgSilent:this.httpErrorMsg);\r\n cfg.error.showAlert = angular.isUndefined(cfg.error.showAlert)?false:cfg.error.showAlert;\r\n cfg.error.showConsole = angular.isUndefined(cfg.error.showConsole)?true:cfg.error.showConsole; \r\n return cfg;\r\n }, \r\n\r\n startLoading: function (silent) {\r\n if(silent === true) return;\r\n $rootScope.loading = true;\r\n $rootScope.loadingCount = $rootScope.loadingCount ? $rootScope.loadingCount + 1 : 1;\r\n },\r\n\r\n stopLoading: function (silent) {\r\n if(silent === true) return;\r\n $rootScope.loadingCount--;\r\n if ($rootScope.loadingCount === 0) $rootScope.loading = false;\r\n },\r\n\r\n get: function (url, config) {\r\n config = this.getConfig(config); \r\n serv.startLoading(config.silent); \r\n var p = $httpService.get(this.injectParams(url), config.request, config.error);\r\n p.finally(function(){serv.stopLoading(config.silent);});\r\n return p;\r\n },\r\n\r\n post: function (url, data, config) {\r\n config = this.getConfig(config);\r\n serv.startLoading(config.silent);\r\n var p = $httpService.post(this.injectParams(url), data, config.request, config.error); \r\n p.finally(function(){serv.stopLoading(config.silent);});\r\n return p;\r\n },\r\n\r\n delete: function (url, config) {\r\n config = this.getConfig(config);\r\n serv.startLoading(config.silent);\r\n var p = $httpService.delete(this.injectParams(url), config.request, config.error);\r\n p.finally(function(){serv.stopLoading(config.silent);});\r\n return p;\r\n },\r\n\r\n upload: function (url, data) {\r\n this.startLoading();\r\n var deferred = $q.defer();\r\n var p = Upload.upload({ url: $httpService.baseUrl + url, data: data });\r\n p.then(function (response) {\r\n deferred.resolve(response.data);\r\n }, function (errors) {\r\n var err = $httpErrorHandler.throwError(errors, { errorFn: serv.httpErrorMsg, showAlert: false, showConsole: true }); \r\n deferred.reject(err);\r\n });\r\n p.finally(serv.stopLoading);\r\n return deferred.promise;\r\n }, \r\n\r\n injectParams: function (url, params) {\r\n return url;\r\n }, \r\n\r\n httpErrorMsg: function (error) {\r\n if (error.status === 401) {\r\n $state.go(\"login\", { errorMsg: 'La sesión ha expirado' });\r\n //return;\r\n } \r\n \r\n console.log(\"Error httpError\", error);\r\n // if(angular.isUndefined(show) || show)\r\n // appService.error(\"Error\", error.handled.message);\r\n },\r\n\r\n httpErrorMsgSilent: function(error){\r\n serv.httpErrorMsg(error, false);\r\n },\r\n };\r\n return serv;\r\n });\r\n\r\n})();\n(function () {\r\n 'use strict';\r\n\r\n var app = angular.module(\"aur0nHttpService\",[]);\r\n\r\n app.run(httpServiceRun);\r\n\r\n function httpServiceRun() {\r\n \r\n };\r\n\r\n if (!String.prototype.format) {\r\n String.prototype.format = function () {\r\n var args = arguments;\r\n return this.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n };\r\n }\r\n\r\n app.factory(\"$httpErrorHandler\", function () {\r\n var serv = {};\r\n\r\n serv.throwError = function (err, options) { \r\n var res = {};\r\n options = options || {};\r\n options.showAlert = options.showAlert || false;\r\n options.showConsole = options.showConsole || true;\r\n\r\n if (options.showConsole) console.log(err);\r\n\r\n if (err.status === -1) {\r\n res.message = \"Error de comunicación con el servidor\";\r\n res.error = res.message; \r\n res.type = -1; //desconocido\r\n }\r\n else if (err.status >= 400) {\r\n res.message = err.data ? err.data.exceptionMessage || err.data.message || err.data : \"\";\r\n if (res.message === \"\") res.message = err.status + \" \" + err.statusText\r\n //res.error = \"ERROR: \\n\" + JSON.stringify(err);\r\n if (err.data.message)\r\n res.type = 0; //error http\r\n else\r\n res.type = 1; //error api \r\n }\r\n else {\r\n res.error = \"Ocurrió un error desconocido\"; // + JSON.stringify(err);\r\n res.message = res.error;\r\n res.type = -1; //desconocido\r\n }\r\n\r\n \r\n if (options.showAlert) alert(res.message);\r\n\r\n err.handled = res;\r\n\r\n if (options.errorFn)\r\n options.errorFn(err);\r\n\r\n return err;\r\n };\r\n\r\n return serv;\r\n });\r\n\r\n app.factory(\"$httpService\", function ($http, $httpErrorHandler, $q) {\r\n var serv = {};\r\n serv.baseUrl = \"\";\r\n serv.setBaseUrl = function (url) { serv.baseUrl = url; };\r\n\r\n serv.get = function (apiUrl, config, errorHandlerOptions) {\r\n errorHandlerOptions = errorHandlerOptions || {};\r\n var deferred = $q.defer();\r\n $http.get(serv.baseUrl + apiUrl, config).then(function (data) {\r\n deferred.resolve(data.data);\r\n }, function (errors) {\r\n var err = $httpErrorHandler.throwError(errors, errorHandlerOptions); \r\n deferred.reject(err);\r\n });\r\n return deferred.promise;\r\n };\r\n\r\n serv.post = function (apiUrl, postData, config, errorHandlerOptions) {\r\n errorHandlerOptions = errorHandlerOptions || {};\r\n var deferred = $q.defer();\r\n $http.post(serv.baseUrl + apiUrl, postData, config).then(function (data) {\r\n deferred.resolve(data.data);\r\n }, function (errors) {\r\n var err = $httpErrorHandler.throwError(errors, errorHandlerOptions); \r\n deferred.reject(err);\r\n });\r\n return deferred.promise;\r\n };\r\n\r\n serv.delete = function (apiUrl, config, errorHandlerOptions) {\r\n errorHandlerOptions = errorHandlerOptions || {};\r\n var deferred = $q.defer();\r\n $http.delete(serv.baseUrl + apiUrl, config).then(function (data) {\r\n deferred.resolve(data.data);\r\n }, function (errors) {\r\n var err = $httpErrorHandler.throwError(errors, errorHandlerOptions);\r\n deferred.reject(err);\r\n });\r\n return deferred.promise;\r\n };\r\n\r\n return serv;\r\n });\r\n\r\n \r\n})();\nvar app = angular.module(\"app\");\r\napp.controller(\"layoutController\", function ($scope, $rootScope, restService, appConfig, dialogs, saldoService,$timeout) {\r\n $scope.user = appConfig.globals();\r\n $scope.saldo = function () {\r\n saldoService.show();\r\n }\r\n $scope.nuevo = function () {\r\n dialogs.create('app/pages/account/nuevo.html', 'saldoController', {}, { windowClass: 'pacientesModal', size: 'lg' }, 'vm');\r\n }\r\n\r\n\r\n function init() {\r\n if ($rootScope.config.mostrarActualizacion)\r\n $timeout(function () {\r\n $scope.nuevo();\r\n }, 5000);\r\n }\r\n\r\n init();\r\n});\n/**\n * AngularCSS - CSS on-demand for AngularJS\n * @version v1.0.8\n * @author Alex Castillo\n * @link http://castillo-io.github.io/angular-css\n * @license MIT License, http://www.opensource.org/licenses/MIT\n */\n\n'use strict';\n\n(function (angular) {\n\n /**\n * AngularCSS Module\n * Contains: config, constant, provider and run\n **/\n var angularCSS = angular.module('angularCSS', []);\n\n // Old module name handler\n angular.module('door3.css', [])\n .run(function () {\n console.error('AngularCSS: The module name \"door3.css\" is now deprecated. Please use \"angularCSS\" instead.');\n });\n\n // Provider\n angularCSS.provider('$css', [function $cssProvider() {\n\n // Defaults - default options that can be overridden from application config\n var defaults = this.defaults = {\n element: 'link',\n rel: 'stylesheet',\n type: 'text/css',\n container: 'head',\n method: 'append',\n weight: 0\n };\n \n var DEBUG = false;\n\n // Turn off/on in order to see console logs during dev mode\n this.debugMode = function(mode) {\n if (angular.isDefined(mode))\n DEBUG = mode;\n return DEBUG;\n };\n\n this.$get = ['$rootScope','$injector','$q','$window','$timeout','$compile','$http','$filter','$log', '$interpolate',\n function $get($rootScope, $injector, $q, $window, $timeout, $compile, $http, $filter, $log, $interpolate) {\n\n var $css = {};\n\n var template = '';\n\n // Using correct interpolation symbols.\n template = template\n .replace(/{{/g, $interpolate.startSymbol())\n .replace(/}}/g, $interpolate.endSymbol());\n\n // Variables - default options that can be overridden from application config\n var mediaQuery = {}, mediaQueryListener = {}, mediaQueriesToIgnore = ['print'], options = angular.extend({}, defaults),\n container = angular.element(document.querySelector ? document.querySelector(options.container) : document.getElementsByTagName(options.container)[0]),\n dynamicPaths = [];\n\n // Parse all directives\n angular.forEach($directives, function (directive, key) {\n if (directive.hasOwnProperty('css')) {\n $directives[key] = parse(directive.css);\n }\n });\n\n /**\n * Listen for directive add event in order to add stylesheet(s)\n **/\n function $directiveAddEventListener(event, directive, scope) {\n // Binds directive's css\n if (scope && directive.hasOwnProperty('css')) {\n $css.bind(directive.css, scope);\n }\n }\n\n /**\n * Listen for route change event and add/remove stylesheet(s)\n **/\n function $routeEventListener(event, current, prev) {\n // Removes previously added css rules\n if (prev) {\n $css.remove($css.getFromRoute(prev).concat(dynamicPaths));\n // Reset dynamic paths array\n dynamicPaths.length = 0;\n }\n // Adds current css rules\n if (current) {\n $css.add($css.getFromRoute(current));\n }\n }\n\n /**\n * Listen for state change event and add/remove stylesheet(s)\n **/\n function $stateEventListener(event, current, params, prev) {\n // Removes previously added css rules\n if (prev) {\n $css.remove($css.getFromState(prev).concat(dynamicPaths));\n // Reset dynamic paths array\n dynamicPaths.length = 0;\n }\n // Adds current css rules\n if (current) {\n $css.add($css.getFromState(current));\n }\n }\n\n /**\n * Map breakpoitns defined in defaults to stylesheet media attribute\n **/\n function mapBreakpointToMedia(stylesheet) {\n if (angular.isDefined(options.breakpoints)) {\n if (stylesheet.breakpoint in options.breakpoints) {\n stylesheet.media = options.breakpoints[stylesheet.breakpoint];\n }\n delete stylesheet.breakpoints;\n }\n }\n\n /**\n * Parse: returns array with full all object based on defaults\n **/\n function parse(obj) {\n if (!obj) {\n return;\n }\n // Function syntax\n if (angular.isFunction(obj)) {\n obj = angular.copy($injector.invoke(obj));\n }\n // String syntax\n if (angular.isString(obj)) {\n obj = angular.extend({\n href: obj\n }, options);\n }\n // Array of strings syntax\n if (angular.isArray(obj) && angular.isString(obj[0])) {\n angular.forEach(obj, function (item) {\n obj = angular.extend({\n href: item\n }, options);\n });\n }\n // Object syntax\n if (angular.isObject(obj) && !angular.isArray(obj)) {\n obj = angular.extend({}, options, obj);\n }\n // Array of objects syntax\n if (angular.isArray(obj) && angular.isObject(obj[0])) {\n angular.forEach(obj, function (item) {\n obj = angular.extend(item, options);\n });\n }\n // Map breakpoint to media attribute\n mapBreakpointToMedia(obj);\n return obj;\n }\n\n // Add stylesheets to scope\n $rootScope.stylesheets = [];\n\n // Adds compiled link tags to container element\n container[options.method]($compile(template)($rootScope));\n\n // Directive event listener (emulated internally)\n $rootScope.$on('$directiveAdd', $directiveAddEventListener);\n\n // Routes event listener ($route required)\n $rootScope.$on('$routeChangeSuccess', $routeEventListener);\n\n // States event listener ($state required)\n $rootScope.$on('$stateChangeSuccess', $stateEventListener);\n\n /**\n * Bust Cache\n **/\n function bustCache(stylesheet) {\n if (!stylesheet) {\n if(DEBUG) $log.error('No stylesheets provided');\n return;\n }\n var queryString = '?cache=';\n // Append query string for bust cache only once\n if (stylesheet.href.indexOf(queryString) === -1) {\n stylesheet.href = stylesheet.href + (stylesheet.bustCache ? queryString + (new Date().getTime()) : '');\n }\n }\n\n /**\n * Filter By: returns an array of routes based on a property option\n **/\n function filterBy(array, prop) {\n if (!array || !prop) {\n if(DEBUG) $log.error('filterBy: missing array or property');\n return;\n }\n return $filter('filter')(array, function (item) {\n return item[prop];\n });\n }\n\n /**\n * Add Media Query\n **/\n function addViaMediaQuery(stylesheet) {\n if (!stylesheet) {\n if(DEBUG) $log.error('No stylesheet provided');\n return;\n }\n // Media query object\n mediaQuery[stylesheet.href] = $window.matchMedia(stylesheet.media);\n // Media Query Listener function\n mediaQueryListener[stylesheet.href] = function(mediaQuery) {\n // Trigger digest\n $timeout(function () {\n if (mediaQuery.matches) {\n // Add stylesheet\n $rootScope.stylesheets.push(stylesheet);\n } else {\n var index = $rootScope.stylesheets.indexOf($filter('filter')($rootScope.stylesheets, {\n href: stylesheet.href\n })[0]);\n // Remove stylesheet\n if (index !== -1) {\n $rootScope.stylesheets.splice(index, 1);\n }\n }\n });\n };\n // Listen for media query changes\n mediaQuery[stylesheet.href].addListener(mediaQueryListener[stylesheet.href]);\n // Invoke first media query check\n mediaQueryListener[stylesheet.href](mediaQuery[stylesheet.href]);\n }\n\n /**\n * Remove Media Query\n **/\n function removeViaMediaQuery(stylesheet) {\n if (!stylesheet) {\n if(DEBUG) $log.error('No stylesheet provided');\n return;\n }\n // Remove media query listener\n if ($rootScope && angular.isDefined(mediaQuery)\n && mediaQuery[stylesheet.href]\n && angular.isDefined(mediaQueryListener)) {\n mediaQuery[stylesheet.href].removeListener(mediaQueryListener[stylesheet.href]);\n }\n }\n\n /**\n * Is Media Query: checks for media settings, media queries to be ignore and match media support\n **/\n function isMediaQuery(stylesheet) {\n if (!stylesheet) {\n if(DEBUG) $log.error('No stylesheet provided');\n return;\n }\n return !!(\n // Check for media query setting\n stylesheet.media\n // Check for media queries to be ignored\n && (mediaQueriesToIgnore.indexOf(stylesheet.media) === -1)\n // Check for matchMedia support\n && $window.matchMedia\n );\n }\n\n /**\n * Get From Route: returns array of css objects from single route\n **/\n $css.getFromRoute = function (route) {\n if (!route) {\n if(DEBUG) $log.error('Get From Route: No route provided');\n return;\n }\n var css = null, result = [];\n if (route.$$route && route.$$route.css) {\n css = route.$$route.css;\n }\n else if (route.css) {\n css = route.css;\n }\n // Adds route css rules to array\n if (css) {\n if (angular.isArray(css)) {\n angular.forEach(css, function (cssItem) {\n if (angular.isFunction(cssItem)) {\n dynamicPaths.push(parse(cssItem));\n }\n result.push(parse(cssItem));\n });\n } else {\n if (angular.isFunction(css)) {\n dynamicPaths.push(parse(css));\n }\n result.push(parse(css));\n }\n }\n return result;\n };\n\n /**\n * Get From Routes: returns array of css objects from ng routes\n **/\n $css.getFromRoutes = function (routes) {\n if (!routes) {\n if(DEBUG) $log.error('Get From Routes: No routes provided');\n return;\n }\n var result = [];\n // Make array of all routes\n angular.forEach(routes, function (route) {\n var css = $css.getFromRoute(route);\n if (css.length) {\n result.push(css[0]);\n }\n });\n return result;\n };\n\n /**\n * Get From State: returns array of css objects from single state\n **/\n $css.getFromState = function (state) {\n if (!state) {\n if(DEBUG) $log.error('Get From State: No state provided');\n return;\n }\n var result = [];\n // State \"views\" notation\n if (angular.isDefined(state.views)) {\n angular.forEach(state.views, function (item) {\n if (item.css) {\n if (angular.isFunction(item.css)) {\n dynamicPaths.push(parse(item.css));\n }\n result.push(parse(item.css));\n }\n });\n }\n // State \"children\" notation\n if (angular.isDefined(state.children)) {\n angular.forEach(state.children, function (child) {\n if (child.css) {\n if (angular.isFunction(child.css)) {\n dynamicPaths.push(parse(child.css));\n }\n result.push(parse(child.css));\n }\n if (angular.isDefined(child.children)) {\n angular.forEach(child.children, function (childChild) {\n if (childChild.css) {\n if (angular.isFunction(childChild.css)) {\n dynamicPaths.push(parse(childChild.css));\n }\n result.push(parse(childChild.css));\n }\n });\n }\n });\n }\n // State default notation\n if (\n angular.isDefined(state.css) ||\n (angular.isDefined(state.data) && angular.isDefined(state.data.css))\n ) {\n var css = state.css || state.data.css;\n // For multiple stylesheets\n if (angular.isArray(css)) {\n angular.forEach(css, function (itemCss) {\n if (angular.isFunction(itemCss)) {\n dynamicPaths.push(parse(itemCss));\n }\n result.push(parse(itemCss));\n });\n // For single stylesheets\n } else {\n if (angular.isFunction(css)) {\n dynamicPaths.push(parse(css));\n }\n result.push(parse(css));\n }\n }\n return result;\n };\n\n /**\n * Get From States: returns array of css objects from states\n **/\n $css.getFromStates = function (states) {\n if (!states) {\n if(DEBUG) $log.error('Get From States: No states provided');\n return;\n }\n var result = [];\n // Make array of all routes\n angular.forEach(states, function (state) {\n var css = $css.getFromState(state);\n if (angular.isArray(css)) {\n angular.forEach(css, function (cssItem) {\n result.push(cssItem);\n });\n } else {\n result.push(css);\n }\n });\n return result;\n };\n\n /**\n * Preload: preloads css via http request\n **/\n $css.preload = function (stylesheets, callback) {\n // If no stylesheets provided, then preload all\n if (!stylesheets) {\n stylesheets = [];\n // Add all stylesheets from custom directives to array\n if ($directives.length) {\n Array.prototype.push.apply(stylesheets, $directives);\n }\n // Add all stylesheets from ngRoute to array\n if ($injector.has('$route')) {\n Array.prototype.push.apply(stylesheets, $css.getFromRoutes($injector.get('$route').routes));\n }\n // Add all stylesheets from UI Router to array\n if ($injector.has('$state')) {\n Array.prototype.push.apply(stylesheets, $css.getFromStates($injector.get('$state').get()));\n }\n stylesheets = filterBy(stylesheets, 'preload');\n }\n if (!angular.isArray(stylesheets)) {\n stylesheets = [stylesheets];\n }\n var stylesheetLoadPromises = [];\n angular.forEach(stylesheets, function(stylesheet, key) {\n stylesheet = stylesheets[key] = parse(stylesheet);\n stylesheetLoadPromises.push(\n // Preload via ajax request\n $http.get(stylesheet.href).error(function (response) {\n if(DEBUG) $log.error('AngularCSS: Incorrect path for ' + stylesheet.href);\n })\n );\n });\n if (angular.isFunction(callback)) {\n $q.all(stylesheetLoadPromises).then(function () {\n callback(stylesheets);\n });\n }\n };\n\n /**\n * Bind: binds css in scope with own scope create/destroy events\n **/\n $css.bind = function (css, $scope) {\n if (!css || !$scope) {\n if(DEBUG) $log.error('No scope or stylesheets provided');\n return;\n }\n var result = [];\n // Adds route css rules to array\n if (angular.isArray(css)) {\n angular.forEach(css, function (cssItem) {\n result.push(parse(cssItem));\n });\n } else {\n result.push(parse(css));\n }\n $css.add(result);\n if(DEBUG) $log.debug('$css.bind(): Added', result);\n $scope.$on('$destroy', function () {\n $css.remove(result);\n if(DEBUG) $log.debug('$css.bind(): Removed', result);\n });\n };\n\n /**\n * Add: adds stylesheets to scope\n **/\n $css.add = function (stylesheets, callback) {\n if (!stylesheets) {\n if(DEBUG) $log.error('No stylesheets provided');\n return;\n }\n if (!angular.isArray(stylesheets)) {\n stylesheets = [stylesheets];\n }\n angular.forEach(stylesheets, function(stylesheet) {\n stylesheet = parse(stylesheet);\n // Avoid adding duplicate stylesheets\n if (stylesheet.href && !$filter('filter')($rootScope.stylesheets, { href: stylesheet.href }).length) {\n // Bust Cache feature\n bustCache(stylesheet);\n // Media Query add support check\n if (isMediaQuery(stylesheet)) {\n addViaMediaQuery(stylesheet);\n }\n else {\n $rootScope.stylesheets.push(stylesheet);\n }\n if(DEBUG) $log.debug('$css.add(): ' + stylesheet.href);\n }\n });\n // Broadcasts custom event for css add\n $rootScope.$broadcast('$cssAdd', stylesheets, $rootScope.stylesheets);\n };\n\n /**\n * Remove: removes stylesheets from scope\n **/\n $css.remove = function (stylesheets, callback) {\n if (!stylesheets) {\n if(DEBUG) $log.error('No stylesheets provided');\n return;\n }\n if (!angular.isArray(stylesheets)) {\n stylesheets = [stylesheets];\n }\n // Only proceed based on persist setting\n stylesheets = $filter('filter')(stylesheets, function (stylesheet) {\n return !stylesheet.persist;\n });\n angular.forEach(stylesheets, function(stylesheet) {\n stylesheet = parse(stylesheet);\n // Get index of current item to be removed based on href\n var index = $rootScope.stylesheets.indexOf($filter('filter')($rootScope.stylesheets, {\n href: stylesheet.href\n })[0]);\n // Remove stylesheet from scope (if found)\n if (index !== -1) {\n $rootScope.stylesheets.splice(index, 1);\n }\n // Remove stylesheet via media query\n removeViaMediaQuery(stylesheet);\n if(DEBUG) $log.debug('$css.remove(): ' + stylesheet.href);\n });\n // Broadcasts custom event for css remove\n $rootScope.$broadcast('$cssRemove', stylesheets, $rootScope.stylesheets);\n };\n\n /**\n * Remove All: removes all style tags from the DOM\n **/\n $css.removeAll = function () {\n // Remove all stylesheets from scope\n if ($rootScope && $rootScope.hasOwnProperty('stylesheets')) {\n $rootScope.stylesheets.length = 0;\n }\n if(DEBUG) $log.debug('all stylesheets removed');\n };\n\n // Preload all stylesheets\n $css.preload();\n\n return $css;\n\n }];\n\n }]);\n\n /**\n * Links filter - renders the stylesheets array in html format\n **/\n angularCSS.filter('$cssLinks', function () {\n return function (stylesheets) {\n if (!stylesheets || !angular.isArray(stylesheets)) {\n return stylesheets;\n }\n var result = '';\n angular.forEach(stylesheets, function (stylesheet) {\n result += ' -1;\n };\n\n angular.module = function () {\n var module = originalModule.apply(this, arguments);\n var originalDirective = module.directive;\n module.directive = function(directiveName, directiveFactory) {\n var originalDirectiveFactory = angular.isFunction(directiveFactory) ?\n directiveFactory : directiveFactory[directiveFactory ? (directiveFactory.length - 1) : 0];\n try {\n var directive = angular.copy(originalDirectiveFactory)();\n directive.directiveName = directiveName;\n if (directive.hasOwnProperty('css') && !arrayExists(arraySelect($directives, function(x) {return x.ddo.directiveName}), directiveName)) {\n $directives.push({ ddo: directive, handled: false });\n }\n } catch (e) { }\n return originalDirective.apply(this, arguments);\n };\n var originalComponent = module.component;\n module.component = function (componentName, componentObject) {\n componentObject.directiveName = componentName;\n if (componentObject.hasOwnProperty('css') && !arrayExists(arraySelect($directives, function(x) {return x.ddo.directiveName}), componentName)) {\n $directives.push({ ddo: componentObject, handled: false });\n }\n return originalComponent.apply(this, arguments);\n };\n module.config(['$provide','$injector', function ($provide, $injector) {\n angular.forEach($directives, function ($dir) {\n if (!$dir.handled) {\n var $directive = $dir.ddo;\n var dirProvider = $directive.directiveName + 'Directive';\n if ($injector.has(dirProvider)) {\n $dir.handled = true;\n $provide.decorator(dirProvider, ['$delegate', '$rootScope', '$timeout', function ($delegate, $rootScope, $timeout) {\n var directive = $delegate[0];\n var compile = directive.compile;\n if (!directive.css) {\n directive.css = $directive.css;\n }\n directive.compile = function() {\n var link = compile ? compile.apply(this, arguments): false;\n return function(scope) {\n var linkArgs = arguments;\n $timeout(function () {\n if (link) {\n link.apply(this, linkArgs);\n }\n });\n $rootScope.$broadcast('$directiveAdd', directive, scope);\n };\n };\n return $delegate;\n }]);\n }\n }\n });\n }]);\n return module;\n };\n /* End of hack */\n\n})(angular);\n\n/*\n * angular-ui-bootstrap\n * http://angular-ui.github.io/bootstrap/\n\n * Version: 1.2.5 - 2016-03-20\n * License: MIT\n */angular.module(\"ui.bootstrap\",[\"ui.bootstrap.tpls\",\"ui.bootstrap.collapse\",\"ui.bootstrap.accordion\",\"ui.bootstrap.alert\",\"ui.bootstrap.buttons\",\"ui.bootstrap.carousel\",\"ui.bootstrap.dateparser\",\"ui.bootstrap.isClass\",\"ui.bootstrap.position\",\"ui.bootstrap.datepicker\",\"ui.bootstrap.debounce\",\"ui.bootstrap.dropdown\",\"ui.bootstrap.stackedMap\",\"ui.bootstrap.modal\",\"ui.bootstrap.paging\",\"ui.bootstrap.pager\",\"ui.bootstrap.pagination\",\"ui.bootstrap.tooltip\",\"ui.bootstrap.popover\",\"ui.bootstrap.progressbar\",\"ui.bootstrap.rating\",\"ui.bootstrap.tabs\",\"ui.bootstrap.timepicker\",\"ui.bootstrap.typeahead\"]),angular.module(\"ui.bootstrap.tpls\",[\"uib/template/accordion/accordion-group.html\",\"uib/template/accordion/accordion.html\",\"uib/template/alert/alert.html\",\"uib/template/carousel/carousel.html\",\"uib/template/carousel/slide.html\",\"uib/template/datepicker/datepicker.html\",\"uib/template/datepicker/day.html\",\"uib/template/datepicker/month.html\",\"uib/template/datepicker/popup.html\",\"uib/template/datepicker/year.html\",\"uib/template/modal/backdrop.html\",\"uib/template/modal/window.html\",\"uib/template/pager/pager.html\",\"uib/template/pagination/pagination.html\",\"uib/template/tooltip/tooltip-html-popup.html\",\"uib/template/tooltip/tooltip-popup.html\",\"uib/template/tooltip/tooltip-template-popup.html\",\"uib/template/popover/popover-html.html\",\"uib/template/popover/popover-template.html\",\"uib/template/popover/popover.html\",\"uib/template/progressbar/bar.html\",\"uib/template/progressbar/progress.html\",\"uib/template/progressbar/progressbar.html\",\"uib/template/rating/rating.html\",\"uib/template/tabs/tab.html\",\"uib/template/tabs/tabset.html\",\"uib/template/timepicker/timepicker.html\",\"uib/template/typeahead/typeahead-match.html\",\"uib/template/typeahead/typeahead-popup.html\"]),angular.module(\"ui.bootstrap.collapse\",[]).directive(\"uibCollapse\",[\"$animate\",\"$q\",\"$parse\",\"$injector\",function(a,b,c,d){var e=d.has(\"$animateCss\")?d.get(\"$animateCss\"):null;return{link:function(d,f,g){function h(){f.hasClass(\"collapse\")&&f.hasClass(\"in\")||b.resolve(l(d)).then(function(){f.removeClass(\"collapse\").addClass(\"collapsing\").attr(\"aria-expanded\",!0).attr(\"aria-hidden\",!1),e?e(f,{addClass:\"in\",easing:\"ease\",to:{height:f[0].scrollHeight+\"px\"}}).start()[\"finally\"](i):a.addClass(f,\"in\",{to:{height:f[0].scrollHeight+\"px\"}}).then(i)})}function i(){f.removeClass(\"collapsing\").addClass(\"collapse\").css({height:\"auto\"}),m(d)}function j(){return f.hasClass(\"collapse\")||f.hasClass(\"in\")?void b.resolve(n(d)).then(function(){f.css({height:f[0].scrollHeight+\"px\"}).removeClass(\"collapse\").addClass(\"collapsing\").attr(\"aria-expanded\",!1).attr(\"aria-hidden\",!0),e?e(f,{removeClass:\"in\",to:{height:\"0\"}}).start()[\"finally\"](k):a.removeClass(f,\"in\",{to:{height:\"0\"}}).then(k)}):k()}function k(){f.css({height:\"0\"}),f.removeClass(\"collapsing\").addClass(\"collapse\"),o(d)}var l=c(g.expanding),m=c(g.expanded),n=c(g.collapsing),o=c(g.collapsed);d.$eval(g.uibCollapse)||f.addClass(\"in\").addClass(\"collapse\").attr(\"aria-expanded\",!0).attr(\"aria-hidden\",!1).css({height:\"auto\"}),d.$watch(g.uibCollapse,function(a){a?j():h()})}}}]),angular.module(\"ui.bootstrap.accordion\",[\"ui.bootstrap.collapse\"]).constant(\"uibAccordionConfig\",{closeOthers:!0}).controller(\"UibAccordionController\",[\"$scope\",\"$attrs\",\"uibAccordionConfig\",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on(\"$destroy\",function(c){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive(\"uibAccordion\",function(){return{controller:\"UibAccordionController\",controllerAs:\"accordion\",transclude:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/accordion/accordion.html\"}}}).directive(\"uibAccordionGroup\",function(){return{require:\"^uibAccordion\",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/accordion/accordion-group.html\"},scope:{heading:\"@\",panelClass:\"@?\",isOpen:\"=?\",isDisabled:\"=?\"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.openClass=c.openClass||\"panel-open\",a.panelClass=c.panelClass||\"panel-default\",a.$watch(\"isOpen\",function(c){b.toggleClass(a.openClass,!!c),c&&d.closeOthers(a)}),a.toggleOpen=function(b){a.isDisabled||b&&32!==b.which||(a.isOpen=!a.isOpen)};var e=\"accordiongroup-\"+a.$id+\"-\"+Math.floor(1e4*Math.random());a.headingId=e+\"-tab\",a.panelId=e+\"-panel\"}}}).directive(\"uibAccordionHeading\",function(){return{transclude:!0,template:\"\",replace:!0,require:\"^uibAccordionGroup\",link:function(a,b,c,d,e){d.setHeading(e(a,angular.noop))}}}).directive(\"uibAccordionTransclude\",function(){return{require:\"^uibAccordionGroup\",link:function(a,b,c,d){a.$watch(function(){return d[c.uibAccordionTransclude]},function(a){if(a){var c=angular.element(b[0].querySelector(\"[uib-accordion-header]\"));c.html(\"\"),c.append(a)}})}}}),angular.module(\"ui.bootstrap.alert\",[]).controller(\"UibAlertController\",[\"$scope\",\"$attrs\",\"$interpolate\",\"$timeout\",function(a,b,c,d){a.closeable=!!b.close;var e=angular.isDefined(b.dismissOnTimeout)?c(b.dismissOnTimeout)(a.$parent):null;e&&d(function(){a.close()},parseInt(e,10))}]).directive(\"uibAlert\",function(){return{controller:\"UibAlertController\",controllerAs:\"alert\",templateUrl:function(a,b){return b.templateUrl||\"uib/template/alert/alert.html\"},transclude:!0,replace:!0,scope:{type:\"@\",close:\"&\"}}}),angular.module(\"ui.bootstrap.buttons\",[]).constant(\"uibButtonConfig\",{activeClass:\"active\",toggleEvent:\"click\"}).controller(\"UibButtonsController\",[\"uibButtonConfig\",function(a){this.activeClass=a.activeClass||\"active\",this.toggleEvent=a.toggleEvent||\"click\"}]).directive(\"uibBtnRadio\",[\"$parse\",function(a){return{require:[\"uibBtnRadio\",\"ngModel\"],controller:\"UibButtonsController\",controllerAs:\"buttons\",link:function(b,c,d,e){var f=e[0],g=e[1],h=a(d.uibUncheckable);c.find(\"input\").css({display:\"none\"}),g.$render=function(){c.toggleClass(f.activeClass,angular.equals(g.$modelValue,b.$eval(d.uibBtnRadio)))},c.on(f.toggleEvent,function(){if(!d.disabled){var a=c.hasClass(f.activeClass);(!a||angular.isDefined(d.uncheckable))&&b.$apply(function(){g.$setViewValue(a?null:b.$eval(d.uibBtnRadio)),g.$render()})}}),d.uibUncheckable&&b.$watch(h,function(a){d.$set(\"uncheckable\",a?\"\":void 0)})}}}]).directive(\"uibBtnCheckbox\",function(){return{require:[\"uibBtnCheckbox\",\"ngModel\"],controller:\"UibButtonsController\",controllerAs:\"button\",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){return angular.isDefined(b)?a.$eval(b):c}var h=d[0],i=d[1];b.find(\"input\").css({display:\"none\"}),i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.on(h.toggleEvent,function(){c.disabled||a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module(\"ui.bootstrap.carousel\",[]).controller(\"UibCarouselController\",[\"$scope\",\"$element\",\"$interval\",\"$timeout\",\"$animate\",function(a,b,c,d,e){function f(){for(;t.length;)t.shift()}function g(a){for(var b=0;b1){q[d].element.data(r,c.direction);var j=p.getCurrentIndex();angular.isNumber(j)&&q[j].element&&q[j].element.data(r,c.direction),a.$currentTransition=!0,e.on(\"addClass\",q[d].element,function(b,c){if(\"close\"===c&&(a.$currentTransition=null,e.off(\"addClass\",b),t.length)){var d=t.pop().slide,g=d.index,i=g>p.getCurrentIndex()?\"next\":\"prev\";f(),h(d,g,i)}})}a.active=c.index,s=c.index,g(d),l()}}function i(a){for(var b=0;b0&&(n=c(m,b))}function m(){var b=+a.interval;o&&!isNaN(b)&&b>0&&q.length?a.next():a.pause()}var n,o,p=this,q=p.slides=a.slides=[],r=\"uib-slideDirection\",s=a.active,t=[],u=!1;p.addSlide=function(b,c){q.push({slide:b,element:c}),q.sort(function(a,b){return+a.slide.index>+b.slide.index}),(b.index===a.active||1===q.length&&!angular.isNumber(a.active))&&(a.$currentTransition&&(a.$currentTransition=null),s=b.index,a.active=b.index,g(s),p.select(q[i(b)]),1===q.length&&a.play())},p.getCurrentIndex=function(){for(var a=0;a0&&s===c?c>=q.length?(s=q.length-1,a.active=s,g(s),p.select(q[q.length-1])):(s=c,a.active=s,g(s),p.select(q[c])):s>c&&(s--,a.active=s),0===q.length&&(s=null,a.active=null,f())},p.select=a.select=function(b,c){var d=i(b.slide);void 0===c&&(c=d>p.getCurrentIndex()?\"next\":\"prev\"),b.slide.index===s||a.$currentTransition?b&&b.slide.index!==s&&a.$currentTransition&&t.push(q[d]):h(b.slide,d,c)},a.indexOfSlide=function(a){return+a.slide.index},a.isActive=function(b){return a.active===b.slide.index},a.pause=function(){a.noPause||(o=!1,j())},a.play=function(){o||(o=!0,l())},a.$on(\"$destroy\",function(){u=!0,j()}),a.$watch(\"noTransition\",function(a){e.enabled(b,!a)}),a.$watch(\"interval\",l),a.$watchCollection(\"slides\",k),a.$watch(\"active\",function(a){if(angular.isNumber(a)&&s!==a){for(var b=0;b-1){var g=!1;a=a.split(\"\");for(var h=f;h-1){a=a.split(\"\"),e[f]=\"(\"+d.regex+\")\",a[f]=\"$\";for(var g=f+1,h=f+d.key.length;h>g;g++)e[g]=\"\",a[g]=\"$\";a=a.join(\"\"),c.push({index:f,key:d.key,apply:d[b],matcher:d.regex})}}),{regex:new RegExp(\"^\"+e.join(\"\")+\"$\"),map:d(c,\"index\")}}function f(a,b,c){return 1>c?!1:1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}function g(a){return parseInt(a,10)}function h(a,b){return a&&b?l(a,b):a}function i(a,b){return a&&b?l(a,b,!0):a}function j(a,b){var c=Date.parse(\"Jan 01, 1970 00:00:00 \"+a)/6e4;return isNaN(c)?b:c}function k(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function l(a,b,c){c=c?-1:1;var d=j(b,a.getTimezoneOffset());return k(a,c*(d-a.getTimezoneOffset()))}var m,n,o=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;this.init=function(){m=b.id,this.parsers={},this.formatters={},n=[{key:\"yyyy\",regex:\"\\\\d{4}\",apply:function(a){this.year=+a},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,\"yyyy\")}},{key:\"yy\",regex:\"\\\\d{2}\",apply:function(a){this.year=+a+2e3},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,\"yy\")}},{key:\"y\",regex:\"\\\\d{1,4}\",apply:function(a){this.year=+a},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,\"y\")}},{key:\"M!\",regex:\"0?[1-9]|1[0-2]\",apply:function(a){this.month=a-1},formatter:function(a){var b=a.getMonth();return/^[0-9]$/.test(b)?c(a,\"MM\"):c(a,\"M\")}},{key:\"MMMM\",regex:b.DATETIME_FORMATS.MONTH.join(\"|\"),apply:function(a){this.month=b.DATETIME_FORMATS.MONTH.indexOf(a)},formatter:function(a){return c(a,\"MMMM\")}},{key:\"MMM\",regex:b.DATETIME_FORMATS.SHORTMONTH.join(\"|\"),apply:function(a){this.month=b.DATETIME_FORMATS.SHORTMONTH.indexOf(a)},formatter:function(a){return c(a,\"MMM\")}},{key:\"MM\",regex:\"0[1-9]|1[0-2]\",apply:function(a){this.month=a-1},formatter:function(a){return c(a,\"MM\")}},{key:\"M\",regex:\"[1-9]|1[0-2]\",apply:function(a){this.month=a-1},formatter:function(a){return c(a,\"M\")}},{key:\"d!\",regex:\"[0-2]?[0-9]{1}|3[0-1]{1}\",apply:function(a){this.date=+a},formatter:function(a){var b=a.getDate();return/^[1-9]$/.test(b)?c(a,\"dd\"):c(a,\"d\")}},{key:\"dd\",regex:\"[0-2][0-9]{1}|3[0-1]{1}\",apply:function(a){this.date=+a},formatter:function(a){return c(a,\"dd\")}},{key:\"d\",regex:\"[1-2]?[0-9]{1}|3[0-1]{1}\",apply:function(a){this.date=+a},formatter:function(a){return c(a,\"d\")}},{key:\"EEEE\",regex:b.DATETIME_FORMATS.DAY.join(\"|\"),formatter:function(a){return c(a,\"EEEE\")}},{key:\"EEE\",regex:b.DATETIME_FORMATS.SHORTDAY.join(\"|\"),formatter:function(a){return c(a,\"EEE\")}},{key:\"HH\",regex:\"(?:0|1)[0-9]|2[0-3]\",apply:function(a){this.hours=+a},formatter:function(a){return c(a,\"HH\")}},{key:\"hh\",regex:\"0[0-9]|1[0-2]\",apply:function(a){this.hours=+a},formatter:function(a){return c(a,\"hh\")}},{key:\"H\",regex:\"1?[0-9]|2[0-3]\",apply:function(a){this.hours=+a},formatter:function(a){return c(a,\"H\")}},{key:\"h\",regex:\"[0-9]|1[0-2]\",apply:function(a){this.hours=+a},formatter:function(a){return c(a,\"h\")}},{key:\"mm\",regex:\"[0-5][0-9]\",apply:function(a){this.minutes=+a},formatter:function(a){return c(a,\"mm\")}},{key:\"m\",regex:\"[0-9]|[1-5][0-9]\",apply:function(a){this.minutes=+a},formatter:function(a){return c(a,\"m\")}},{key:\"sss\",regex:\"[0-9][0-9][0-9]\",apply:function(a){this.milliseconds=+a},formatter:function(a){return c(a,\"sss\")}},{key:\"ss\",regex:\"[0-5][0-9]\",apply:function(a){this.seconds=+a},formatter:function(a){return c(a,\"ss\")}},{key:\"s\",regex:\"[0-9]|[1-5][0-9]\",apply:function(a){this.seconds=+a},formatter:function(a){return c(a,\"s\")}},{key:\"a\",regex:b.DATETIME_FORMATS.AMPMS.join(\"|\"),apply:function(a){12===this.hours&&(this.hours=0),\"PM\"===a&&(this.hours+=12)},formatter:function(a){return c(a,\"a\")}},{key:\"Z\",regex:\"[+-]\\\\d{4}\",apply:function(a){var b=a.match(/([+-])(\\d{2})(\\d{2})/),c=b[1],d=b[2],e=b[3];this.hours+=g(c+d),this.minutes+=g(c+e)},formatter:function(a){return c(a,\"Z\")}},{key:\"ww\",regex:\"[0-4][0-9]|5[0-3]\",formatter:function(a){return c(a,\"ww\")}},{key:\"w\",regex:\"[0-9]|[1-4][0-9]|5[0-3]\",formatter:function(a){return c(a,\"w\")}},{key:\"GGGG\",regex:b.DATETIME_FORMATS.ERANAMES.join(\"|\").replace(/\\s/g,\"\\\\s\"),formatter:function(a){return c(a,\"GGGG\")}},{key:\"GGG\",regex:b.DATETIME_FORMATS.ERAS.join(\"|\"),formatter:function(a){return c(a,\"GGG\")}},{key:\"GG\",regex:b.DATETIME_FORMATS.ERAS.join(\"|\"),formatter:function(a){return c(a,\"GG\")}},{key:\"G\",regex:b.DATETIME_FORMATS.ERAS.join(\"|\"),formatter:function(a){return c(a,\"G\")}}]},this.init(),this.filter=function(a,c){if(!angular.isDate(a)||isNaN(a)||!c)return\"\";c=b.DATETIME_FORMATS[c]||c,b.id!==m&&this.init(),this.formatters[c]||(this.formatters[c]=e(c,\"formatter\"));var d=this.formatters[c],f=d.map,g=c;return f.reduce(function(b,c,d){var e=g.match(new RegExp(\"(.*)\"+c.key));e&&angular.isString(e[1])&&(b+=e[1],g=g.replace(e[1]+c.key,\"\"));var h=d===f.length-1?g:\"\";return c.apply?b+c.apply.call(null,a)+h:b+h},\"\")},this.parse=function(c,d,g){if(!angular.isString(c)||!d)return c;d=b.DATETIME_FORMATS[d]||d,d=d.replace(o,\"\\\\$&\"),b.id!==m&&this.init(),this.parsers[d]||(this.parsers[d]=e(d,\"apply\"));var h=this.parsers[d],i=h.regex,j=h.map,k=c.match(i),l=!1;if(k&&k.length){var n,p;angular.isDate(g)&&!isNaN(g.getTime())?n={year:g.getFullYear(),month:g.getMonth(),date:g.getDate(),hours:g.getHours(),minutes:g.getMinutes(),seconds:g.getSeconds(),milliseconds:g.getMilliseconds()}:(g&&a.warn(\"dateparser:\",\"baseDate is not a valid date\"),n={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var q=1,r=k.length;r>q;q++){var s=j[q-1];\"Z\"===s.matcher&&(l=!0),s.apply&&s.apply.call(n,k[q])}var t=l?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,u=l?Date.prototype.setUTCHours:Date.prototype.setHours;return f(n.year,n.month,n.date)&&(!angular.isDate(g)||isNaN(g.getTime())||l?(p=new Date(0),t.call(p,n.year,n.month,n.date),u.call(p,n.hours||0,n.minutes||0,n.seconds||0,n.milliseconds||0)):(p=new Date(g),t.call(p,n.year,n.month,n.date),u.call(p,n.hours,n.minutes,n.seconds,n.milliseconds))),p}},this.toTimezone=h,this.fromTimezone=i,this.timezoneToOffset=j,this.addDateMinutes=k,this.convertTimezoneToLocal=l}]),angular.module(\"ui.bootstrap.isClass\",[]).directive(\"uibIsClass\",[\"$animate\",function(a){var b=/^\\s*([\\s\\S]+?)\\s+on\\s+([\\s\\S]+?)\\s*$/,c=/^\\s*([\\s\\S]+?)\\s+for\\s+([\\s\\S]+?)\\s*$/;return{restrict:\"A\",compile:function(d,e){function f(a,b,c){i.push(a),j.push({scope:a,element:b}),o.forEach(function(b,c){g(b,a)}),a.$on(\"$destroy\",h)}function g(b,d){var e=b.match(c),f=d.$eval(e[1]),g=e[2],h=k[b];if(!h){var i=function(b){var c=null;j.some(function(a){var d=a.scope.$eval(m);return d===b?(c=a,!0):void 0}),h.lastActivated!==c&&(h.lastActivated&&a.removeClass(h.lastActivated.element,f),c&&a.addClass(c.element,f),h.lastActivated=c)};k[b]=h={lastActivated:null,scope:d,watchFn:i,compareWithExp:g,watcher:d.$watch(g,i)}}h.watchFn(d.$eval(g))}function h(a){var b=a.targetScope,c=i.indexOf(b);if(i.splice(c,1),j.splice(c,1),i.length){var d=i[0];angular.forEach(k,function(a){a.scope===b&&(a.watcher=d.$watch(a.compareWithExp,a.watchFn),a.scope=d)})}else k={}}var i=[],j=[],k={},l=e.uibIsClass.match(b),m=l[2],n=l[1],o=n.split(\",\");return f}}}]),angular.module(\"ui.bootstrap.position\",[]).factory(\"$uibPosition\",[\"$document\",\"$window\",function(a,b){var c,d={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},e={auto:/\\s?auto?\\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/};return{getRawNode:function(a){return a.nodeName?a:a[0]||a},parseStyle:function(a){return a=parseFloat(a),isFinite(a)?a:0},offsetParent:function(c){function d(a){return\"static\"===(b.getComputedStyle(a).position||\"static\")}c=this.getRawNode(c);for(var e=c.offsetParent||a[0].documentElement;e&&e!==a[0].documentElement&&d(e);)e=e.offsetParent;return e||a[0].documentElement},scrollbarWidth:function(){if(angular.isUndefined(c)){var b=angular.element('
');a.find(\"body\").append(b),c=b[0].offsetWidth-b[0].clientWidth,c=isFinite(c)?c:0,b.remove()}return c},isScrollable:function(a,c){a=this.getRawNode(a);var e=c?d.hidden:d.normal,f=b.getComputedStyle(a);return e.test(f.overflow+f.overflowY+f.overflowX)},scrollParent:function(c,e){c=this.getRawNode(c);var f=e?d.hidden:d.normal,g=a[0].documentElement,h=b.getComputedStyle(c),i=\"absolute\"===h.position,j=c.parentElement||g;if(j===g||\"fixed\"===h.position)return g;for(;j.parentElement&&j!==g;){var k=b.getComputedStyle(j);if(i&&\"static\"!==k.position&&(i=!1),!i&&f.test(k.overflow+k.overflowY+k.overflowX))break;j=j.parentElement}return j},position:function(c,d){c=this.getRawNode(c);var e=this.offset(c);if(d){var f=b.getComputedStyle(c);e.top-=this.parseStyle(f.marginTop),e.left-=this.parseStyle(f.marginLeft)}var g=this.offsetParent(c),h={top:0,left:0};return g!==a[0].documentElement&&(h=this.offset(g),h.top+=g.clientTop-g.scrollTop,h.left+=g.clientLeft-g.scrollLeft),{width:Math.round(angular.isNumber(e.width)?e.width:c.offsetWidth),height:Math.round(angular.isNumber(e.height)?e.height:c.offsetHeight),top:Math.round(e.top-h.top),left:Math.round(e.left-h.left)}},offset:function(c){c=this.getRawNode(c);var d=c.getBoundingClientRect();return{width:Math.round(angular.isNumber(d.width)?d.width:c.offsetWidth),height:Math.round(angular.isNumber(d.height)?d.height:c.offsetHeight),top:Math.round(d.top+(b.pageYOffset||a[0].documentElement.scrollTop)),left:Math.round(d.left+(b.pageXOffset||a[0].documentElement.scrollLeft))}},viewportOffset:function(c,d,e){c=this.getRawNode(c),e=e!==!1?!0:!1;var f=c.getBoundingClientRect(),g={top:0,left:0,bottom:0,right:0},h=d?a[0].documentElement:this.scrollParent(c),i=h.getBoundingClientRect();if(g.top=i.top+h.clientTop,g.left=i.left+h.clientLeft,h===a[0].documentElement&&(g.top+=b.pageYOffset,g.left+=b.pageXOffset),g.bottom=g.top+h.clientHeight,g.right=g.left+h.clientWidth,e){var j=b.getComputedStyle(h);g.top+=this.parseStyle(j.paddingTop),g.bottom-=this.parseStyle(j.paddingBottom),g.left+=this.parseStyle(j.paddingLeft),g.right-=this.parseStyle(j.paddingRight)}return{top:Math.round(f.top-g.top),bottom:Math.round(g.bottom-f.bottom),left:Math.round(f.left-g.left),right:Math.round(g.right-f.right)}},parsePlacement:function(a){var b=e.auto.test(a);return b&&(a=a.replace(e.auto,\"\")),a=a.split(\"-\"),a[0]=a[0]||\"top\",e.primary.test(a[0])||(a[0]=\"top\"),a[1]=a[1]||\"center\",e.secondary.test(a[1])||(a[1]=\"center\"),b?a[2]=!0:a[2]=!1,a},positionElements:function(a,c,d,f){a=this.getRawNode(a),c=this.getRawNode(c);var g=angular.isDefined(c.offsetWidth)?c.offsetWidth:c.prop(\"offsetWidth\"),h=angular.isDefined(c.offsetHeight)?c.offsetHeight:c.prop(\"offsetHeight\");d=this.parsePlacement(d);var i=f?this.offset(a):this.position(a),j={top:0,left:0,placement:\"\"};if(d[2]){var k=this.viewportOffset(a,f),l=b.getComputedStyle(c),m={width:g+Math.round(Math.abs(this.parseStyle(l.marginLeft)+this.parseStyle(l.marginRight))),height:h+Math.round(Math.abs(this.parseStyle(l.marginTop)+this.parseStyle(l.marginBottom)))};if(d[0]=\"top\"===d[0]&&m.height>k.top&&m.height<=k.bottom?\"bottom\":\"bottom\"===d[0]&&m.height>k.bottom&&m.height<=k.top?\"top\":\"left\"===d[0]&&m.width>k.left&&m.width<=k.right?\"right\":\"right\"===d[0]&&m.width>k.right&&m.width<=k.left?\"left\":d[0],d[1]=\"top\"===d[1]&&m.height-i.height>k.bottom&&m.height-i.height<=k.top?\"bottom\":\"bottom\"===d[1]&&m.height-i.height>k.top&&m.height-i.height<=k.bottom?\"top\":\"left\"===d[1]&&m.width-i.width>k.right&&m.width-i.width<=k.left?\"right\":\"right\"===d[1]&&m.width-i.width>k.left&&m.width-i.width<=k.right?\"left\":d[1],\"center\"===d[1])if(e.vertical.test(d[0])){var n=i.width/2-g/2;k.left+n<0&&m.width-i.width<=k.right?d[1]=\"left\":k.right+n<0&&m.width-i.width<=k.left&&(d[1]=\"right\")}else{var o=i.height/2-m.height/2;k.top+o<0&&m.height-i.height<=k.bottom?d[1]=\"top\":k.bottom+o<0&&m.height-i.height<=k.top&&(d[1]=\"bottom\")}}switch(d[0]){case\"top\":j.top=i.top-h;break;case\"bottom\":j.top=i.top+i.height;break;case\"left\":j.left=i.left-g;break;case\"right\":j.left=i.left+i.width}switch(d[1]){case\"top\":j.top=i.top;break;case\"bottom\":j.top=i.top+i.height-h;break;case\"left\":j.left=i.left;break;case\"right\":j.left=i.left+i.width-g;break;case\"center\":e.vertical.test(d[0])?j.left=i.left+i.width/2-g/2:j.top=i.top+i.height/2-h/2}return j.top=Math.round(j.top),j.left=Math.round(j.left),j.placement=\"center\"===d[1]?d[0]:d[0]+\"-\"+d[1],j},positionArrow:function(a,c){a=this.getRawNode(a);var d=a.querySelector(\".tooltip-inner, .popover-inner\");if(d){var f=angular.element(d).hasClass(\"tooltip-inner\"),g=f?a.querySelector(\".tooltip-arrow\"):a.querySelector(\".arrow\");if(g){var h={top:\"\",bottom:\"\",left:\"\",right:\"\"};if(c=this.parsePlacement(c),\"center\"===c[1])return void angular.element(g).css(h);var i=\"border-\"+c[0]+\"-width\",j=b.getComputedStyle(g)[i],k=\"border-\";k+=e.vertical.test(c[0])?c[0]+\"-\"+c[1]:c[1]+\"-\"+c[0],k+=\"-radius\";var l=b.getComputedStyle(f?d:a)[k];switch(c[0]){case\"top\":h.bottom=f?\"0\":\"-\"+j;break;case\"bottom\":h.top=f?\"0\":\"-\"+j;break;case\"left\":h.right=f?\"0\":\"-\"+j;break;case\"right\":h.left=f?\"0\":\"-\"+j}h[c[1]]=l,angular.element(g).css(h)}}}}}]),angular.module(\"ui.bootstrap.datepicker\",[\"ui.bootstrap.dateparser\",\"ui.bootstrap.isClass\",\"ui.bootstrap.position\"]).value(\"$datepickerSuppressError\",!1).value(\"uibDatepickerAttributeWarning\",!0).constant(\"uibDatepickerConfig\",{datepickerMode:\"day\",formatDay:\"dd\",formatMonth:\"MMMM\",formatYear:\"yyyy\",formatDayHeader:\"EEE\",formatDayTitle:\"MMMM yyyy\",formatMonthTitle:\"yyyy\",maxDate:null,maxMode:\"year\",minDate:null,minMode:\"day\",ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller(\"UibDatepickerController\",[\"$scope\",\"$attrs\",\"$parse\",\"$interpolate\",\"$locale\",\"$log\",\"dateFilter\",\"uibDatepickerConfig\",\"$datepickerSuppressError\",\"uibDatepickerAttributeWarning\",\"uibDateParser\",function(a,b,c,d,e,f,g,h,i,j,k){function l(b){a.datepickerMode=b,q&&(a.datepickerOptions.datepickerMode=b)}var m=this,n={$setViewValue:angular.noop},o={},p=[],q=!!b.datepickerOptions;if(this.modes=[\"day\",\"month\",\"year\"],q)[\"customClass\",\"dateDisabled\",\"datepickerMode\",\"formatDay\",\"formatDayHeader\",\"formatDayTitle\",\"formatMonth\",\"formatMonthTitle\",\"formatYear\",\"initDate\",\"maxDate\",\"maxMode\",\"minDate\",\"minMode\",\"showWeeks\",\"shortcutPropagation\",\"startingDay\",\"yearColumns\",\"yearRows\"].forEach(function(b){switch(b){case\"customClass\":case\"dateDisabled\":a[b]=a.datepickerOptions[b]||angular.noop;break;case\"datepickerMode\":a.datepickerMode=angular.isDefined(a.datepickerOptions.datepickerMode)?a.datepickerOptions.datepickerMode:h.datepickerMode;break;case\"formatDay\":case\"formatDayHeader\":case\"formatDayTitle\":case\"formatMonth\":case\"formatMonthTitle\":case\"formatYear\":m[b]=angular.isDefined(a.datepickerOptions[b])?d(a.datepickerOptions[b])(a.$parent):h[b];break;case\"showWeeks\":case\"shortcutPropagation\":case\"yearColumns\":case\"yearRows\":m[b]=angular.isDefined(a.datepickerOptions[b])?a.datepickerOptions[b]:h[b];break;case\"startingDay\":angular.isDefined(a.datepickerOptions.startingDay)?m.startingDay=a.datepickerOptions.startingDay:angular.isNumber(h.startingDay)?m.startingDay=h.startingDay:m.startingDay=(e.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case\"maxDate\":case\"minDate\":a.datepickerOptions[b]?a.$watch(function(){return a.datepickerOptions[b]},function(a){a?angular.isDate(a)?m[b]=k.fromTimezone(new Date(a),o.timezone):m[b]=new Date(g(a,\"medium\")):m[b]=null,m.refreshView()}):m[b]=h[b]?k.fromTimezone(new Date(h[b]),o.timezone):null;break;case\"maxMode\":case\"minMode\":a.datepickerOptions[b]?a.$watch(function(){return a.datepickerOptions[b]},function(c){m[b]=a[b]=angular.isDefined(c)?c:datepickerOptions[b],(\"minMode\"===b&&m.modes.indexOf(a.datepickerOptions.datepickerMode)m.modes.indexOf(m[b]))&&(a.datepickerMode=m[b],a.datepickerOptions.datepickerMode=m[b])}):m[b]=a[b]=h[b]||null;break;case\"initDate\":a.datepickerOptions.initDate?(m.activeDate=k.fromTimezone(a.datepickerOptions.initDate,o.timezone)||new Date,a.$watch(function(){return a.datepickerOptions.initDate},function(a){a&&(n.$isEmpty(n.$modelValue)||n.$invalid)&&(m.activeDate=k.fromTimezone(a,o.timezone),m.refreshView())})):m.activeDate=new Date}});else{if(angular.forEach([\"formatDay\",\"formatMonth\",\"formatYear\",\"formatDayHeader\",\"formatDayTitle\",\"formatMonthTitle\"],function(c){m[c]=angular.isDefined(b[c])?d(b[c])(a.$parent):h[c],angular.isDefined(b[c])&&j&&f.warn(\"uib-datepicker \"+c+\" attribute usage is deprecated, use datepicker-options attribute instead\")}),angular.forEach([\"showWeeks\",\"yearRows\",\"yearColumns\",\"shortcutPropagation\"],function(c){m[c]=angular.isDefined(b[c])?a.$parent.$eval(b[c]):h[c],angular.isDefined(b[c])&&j&&f.warn(\"uib-datepicker \"+c+\" attribute usage is deprecated, use datepicker-options attribute instead\")}),angular.forEach([\"dateDisabled\",\"customClass\"],function(a){angular.isDefined(b[a])&&j&&f.warn(\"uib-datepicker \"+a+\" attribute usage is deprecated, use datepicker-options attribute instead\")}),angular.isDefined(b.startingDay)?(j&&f.warn(\"uib-datepicker startingDay attribute usage is deprecated, use datepicker-options attribute instead\"),m.startingDay=a.$parent.$eval(b.startingDay)):angular.isNumber(h.startingDay)?m.startingDay=h.startingDay:m.startingDay=(e.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7,angular.forEach([\"minDate\",\"maxDate\"],function(c){b[c]?(j&&f.warn(\"uib-datepicker \"+c+\" attribute usage is deprecated, use datepicker-options attribute instead\"),p.push(a.$parent.$watch(b[c],function(a){a?angular.isDate(a)?m[c]=k.fromTimezone(new Date(a),o.timezone):m[c]=new Date(g(a,\"medium\")):m[c]=null,m.refreshView()}))):m[c]=h[c]?k.fromTimezone(new Date(h[c]),o.timezone):null}),angular.forEach([\"minMode\",\"maxMode\"],function(c){b[c]?(j&&f.warn(\"uib-datepicker \"+c+\" attribute usage is deprecated, use datepicker-options attribute instead\"),p.push(a.$parent.$watch(b[c],function(d){m[c]=a[c]=angular.isDefined(d)?d:b[c],(\"minMode\"===c&&m.modes.indexOf(a.datepickerMode)m.modes.indexOf(m[c]))&&(a.datepickerMode=m[c])}))):m[c]=a[c]=h[c]||null}),angular.isDefined(b.initDate)){j&&f.warn(\"uib-datepicker initDate attribute usage is deprecated, use datepicker-options attribute instead\");var r=k.fromTimezone(a.$parent.$eval(b.initDate),o.timezone);this.activeDate=isNaN(r)?new Date:r,p.push(a.$parent.$watch(b.initDate,function(a){a&&(n.$isEmpty(n.$modelValue)||n.$invalid)&&(a=k.fromTimezone(a,o.timezone),m.activeDate=isNaN(a)?new Date:a,m.refreshView())}))}else this.activeDate=new Date;b.datepickerMode&&j&&f.warn(\"uib-datepicker datepickerMode attribute usage is deprecated, use datepicker-options attribute instead\"),a.datepickerMode=a.datepickerMode||h.datepickerMode}a.uniqueId=\"datepicker-\"+a.$id+\"-\"+Math.floor(1e4*Math.random()),a.disabled=angular.isDefined(b.disabled)||!1,angular.isDefined(b.ngDisabled)&&p.push(a.$parent.$watch(b.ngDisabled,function(b){a.disabled=b,m.refreshView()})),a.isActive=function(b){return 0===m.compare(b.date,m.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){n=a,o=a.$options||h.ngModelOptions,this.activeDate=n.$modelValue?k.fromTimezone(new Date(n.$modelValue),o.timezone):k.fromTimezone(new Date,o.timezone),n.$render=function(){m.render()}},this.render=function(){if(n.$viewValue){var a=new Date(n.$viewValue),b=!isNaN(a);b?this.activeDate=k.fromTimezone(a,o.timezone):i||f.error('Datepicker directive: \"ng-model\" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){a.selectedDt=null,this._refreshView(),a.activeDt&&(a.activeDateId=a.activeDt.uid);var b=n.$viewValue?new Date(n.$viewValue):null;b=k.fromTimezone(b,o.timezone),n.$setValidity(\"dateDisabled\",!b||this.element&&!this.isDisabled(b))}},this.createDateObject=function(b,c){var d=n.$viewValue?new Date(n.$viewValue):null;d=k.fromTimezone(d,o.timezone);var e=new Date;e=k.fromTimezone(e,o.timezone);var f=this.compare(b,e),g={date:b,label:k.filter(b,c),selected:d&&0===this.compare(b,d),disabled:this.isDisabled(b),past:0>f,current:0===f,future:f>0,customClass:this.customClass(b)||null};return d&&0===this.compare(b,d)&&(a.selectedDt=g),m.activeDate&&0===this.compare(g.date,m.activeDate)&&(a.activeDt=g),g},this.isDisabled=function(b){return a.disabled||this.minDate&&this.compare(b,this.minDate)<0||this.maxDate&&this.compare(b,this.maxDate)>0||a.dateDisabled&&a.dateDisabled({date:b,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode\n})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===m.minMode){var c=n.$viewValue?k.fromTimezone(new Date(n.$viewValue),o.timezone):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),c=k.toTimezone(c,o.timezone),n.$setViewValue(c),n.$render()}else m.activeDate=b,l(m.modes[m.modes.indexOf(a.datepickerMode)-1]),a.$emit(\"uib:datepicker.mode\")},a.move=function(a){var b=m.activeDate.getFullYear()+a*(m.step.years||0),c=m.activeDate.getMonth()+a*(m.step.months||0);m.activeDate.setFullYear(b,c,1),m.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===m.maxMode&&1===b||a.datepickerMode===m.minMode&&-1===b||(l(m.modes[m.modes.indexOf(a.datepickerMode)+b]),a.$emit(\"uib:datepicker.mode\"))},a.keys={13:\"enter\",32:\"space\",33:\"pageup\",34:\"pagedown\",35:\"end\",36:\"home\",37:\"left\",38:\"up\",39:\"right\",40:\"down\"};var s=function(){m.element[0].focus()};a.$on(\"uib:datepicker.focus\",s),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey&&!a.disabled)if(b.preventDefault(),m.shortcutPropagation||b.stopPropagation(),\"enter\"===c||\"space\"===c){if(m.isDisabled(m.activeDate))return;a.select(m.activeDate)}else!b.ctrlKey||\"up\"!==c&&\"down\"!==c?(m.handleKeyDown(c,b),m.refreshView()):a.toggleMode(\"up\"===c?1:-1)},a.$on(\"$destroy\",function(){for(;p.length;)p.shift()()})}]).controller(\"UibDaypickerController\",[\"$scope\",\"$element\",\"dateFilter\",function(a,b,c){function d(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?f[b]:29}function e(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}var f=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=b,this.init=function(b){angular.extend(b,this),a.showWeeks=b.showWeeks,b.refreshView()},this.getDates=function(a,b){for(var c,d=new Array(b),e=new Date(a),f=0;b>f;)c=new Date(e),d[f++]=c,e.setDate(e.getDate()+1);return d},this._refreshView=function(){var b=this.activeDate.getFullYear(),d=this.activeDate.getMonth(),f=new Date(this.activeDate);f.setFullYear(b,d,1);var g=this.startingDay-f.getDay(),h=g>0?7-g:-g,i=new Date(f);h>0&&i.setDate(-h+1);for(var j=this.getDates(i,42),k=0;42>k;k++)j[k]=angular.extend(this.createDateObject(j[k],this.formatDay),{secondary:j[k].getMonth()!==d,uid:a.uniqueId+\"-\"+k});a.labels=new Array(7);for(var l=0;7>l;l++)a.labels[l]={abbr:c(j[l].date,this.formatDayHeader),full:c(j[l].date,\"EEEE\")};if(a.title=c(this.activeDate,this.formatDayTitle),a.rows=this.split(j,7),a.showWeeks){a.weekNumbers=[];for(var m=(11-this.startingDay)%7,n=a.rows.length,o=0;n>o;o++)a.weekNumbers.push(e(a.rows[o][m].date))}},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth(),a.getDate()),d=new Date(b.getFullYear(),b.getMonth(),b.getDate());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getDate();if(\"left\"===a)c-=1;else if(\"up\"===a)c-=7;else if(\"right\"===a)c+=1;else if(\"down\"===a)c+=7;else if(\"pageup\"===a||\"pagedown\"===a){var e=this.activeDate.getMonth()+(\"pageup\"===a?-1:1);this.activeDate.setMonth(e,1),c=Math.min(d(this.activeDate.getFullYear(),this.activeDate.getMonth()),c)}else\"home\"===a?c=1:\"end\"===a&&(c=d(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(c)}}]).controller(\"UibMonthpickerController\",[\"$scope\",\"$element\",\"dateFilter\",function(a,b,c){this.step={years:1},this.element=b,this.init=function(a){angular.extend(a,this),a.refreshView()},this._refreshView=function(){for(var b,d=new Array(12),e=this.activeDate.getFullYear(),f=0;12>f;f++)b=new Date(this.activeDate),b.setFullYear(e,f,1),d[f]=angular.extend(this.createDateObject(b,this.formatMonth),{uid:a.uniqueId+\"-\"+f});a.title=c(this.activeDate,this.formatMonthTitle),a.rows=this.split(d,3)},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth()),d=new Date(b.getFullYear(),b.getMonth());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getMonth();if(\"left\"===a)c-=1;else if(\"up\"===a)c-=3;else if(\"right\"===a)c+=1;else if(\"down\"===a)c+=3;else if(\"pageup\"===a||\"pagedown\"===a){var d=this.activeDate.getFullYear()+(\"pageup\"===a?-1:1);this.activeDate.setFullYear(d)}else\"home\"===a?c=0:\"end\"===a&&(c=11);this.activeDate.setMonth(c)}}]).controller(\"UibYearpickerController\",[\"$scope\",\"$element\",\"dateFilter\",function(a,b,c){function d(a){return parseInt((a-1)/f,10)*f+1}var e,f;this.element=b,this.yearpickerInit=function(){e=this.yearColumns,f=this.yearRows*e,this.step={years:f}},this._refreshView=function(){for(var b,c=new Array(f),g=0,h=d(this.activeDate.getFullYear());f>g;g++)b=new Date(this.activeDate),b.setFullYear(h+g,0,1),c[g]=angular.extend(this.createDateObject(b,this.formatYear),{uid:a.uniqueId+\"-\"+g});a.title=[c[0].label,c[f-1].label].join(\" - \"),a.rows=this.split(c,e),a.columns=e},this.compare=function(a,b){return a.getFullYear()-b.getFullYear()},this.handleKeyDown=function(a,b){var c=this.activeDate.getFullYear();\"left\"===a?c-=1:\"up\"===a?c-=e:\"right\"===a?c+=1:\"down\"===a?c+=e:\"pageup\"===a||\"pagedown\"===a?c+=(\"pageup\"===a?-1:1)*f:\"home\"===a?c=d(this.activeDate.getFullYear()):\"end\"===a&&(c=d(this.activeDate.getFullYear())+f-1),this.activeDate.setFullYear(c)}}]).directive(\"uibDatepicker\",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/datepicker/datepicker.html\"},scope:{datepickerMode:\"=?\",datepickerOptions:\"=?\",dateDisabled:\"&\",customClass:\"&\",shortcutPropagation:\"&?\"},require:[\"uibDatepicker\",\"^ngModel\"],controller:\"UibDatepickerController\",controllerAs:\"datepicker\",link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}).directive(\"uibDaypicker\",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/datepicker/day.html\"},require:[\"^uibDatepicker\",\"uibDaypicker\"],controller:\"UibDaypickerController\",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive(\"uibMonthpicker\",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/datepicker/month.html\"},require:[\"^uibDatepicker\",\"uibMonthpicker\"],controller:\"UibMonthpickerController\",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive(\"uibYearpicker\",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/datepicker/year.html\"},require:[\"^uibDatepicker\",\"uibYearpicker\"],controller:\"UibYearpickerController\",link:function(a,b,c,d){var e=d[0];angular.extend(e,d[1]),e.yearpickerInit(),e.refreshView()}}}).value(\"uibDatepickerPopupAttributeWarning\",!0).constant(\"uibDatepickerPopupConfig\",{altInputFormats:[],appendToBody:!1,clearText:\"Clear\",closeOnDateSelection:!0,closeText:\"Done\",currentText:\"Today\",datepickerPopup:\"yyyy-MM-dd\",datepickerPopupTemplateUrl:\"uib/template/datepicker/popup.html\",datepickerTemplateUrl:\"uib/template/datepicker/datepicker.html\",html5Types:{date:\"yyyy-MM-dd\",\"datetime-local\":\"yyyy-MM-ddTHH:mm:ss.sss\",month:\"yyyy-MM\"},onOpenFocus:!0,showButtonBar:!0,placement:\"auto bottom-left\"}).controller(\"UibDatepickerPopupController\",[\"$scope\",\"$element\",\"$attrs\",\"$compile\",\"$log\",\"$parse\",\"$window\",\"$document\",\"$rootScope\",\"$uibPosition\",\"dateFilter\",\"uibDateParser\",\"uibDatepickerPopupConfig\",\"$timeout\",\"uibDatepickerConfig\",\"uibDatepickerPopupAttributeWarning\",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){function q(a){return a.replace(/([A-Z])/g,function(a){return\"-\"+a.toLowerCase()})}function r(b){var c=l.parse(b,x,a.date);if(isNaN(c))for(var d=0;d
\"),a.ngModelOptions=angular.copy(H),a.ngModelOptions.timezone=null,a.ngModelOptions.updateOnDefault===!0&&(a.ngModelOptions.updateOn=a.ngModelOptions.updateOn?a.ngModelOptions.updateOn+\" default\":\"default\"),D.attr({\"ng-model\":\"date\",\"ng-model-options\":\"ngModelOptions\",\"ng-change\":\"dateSelection(date)\",\"template-url\":B}),E=angular.element(D.children()[0]),E.attr(\"template-url\",C),L&&\"month\"===c.type&&(E.attr(\"datepicker-mode\",'\"month\"'),E.attr(\"min-mode\",\"month\")),a.datepickerOptions&&E.attr(\"datepicker-options\",\"datepickerOptions\"),angular.forEach([\"minMode\",\"maxMode\",\"datepickerMode\",\"shortcutPropagation\"],function(b){if(c[b]){p&&e.warn(\"uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead\");var d=f(c[b]),g={get:function(){return d(a.$parent)}};if(E.attr(q(b),\"watchData.\"+b),\"datepickerMode\"===b){var h=d.assign;g.set=function(b){h(a.$parent,b)}}Object.defineProperty(a.watchData,b,g)}}),angular.forEach([\"minDate\",\"maxDate\",\"initDate\"],function(b){if(c[b]){p&&e.warn(\"uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead\");var d=f(c[b]);M.push(a.$parent.$watch(d,function(c){if(\"minDate\"===b||\"maxDate\"===b)null===c?K[b]=null:angular.isDate(c)?K[b]=l.fromTimezone(new Date(c),H.timezone):K[b]=new Date(k(c,\"medium\")),a.watchData[b]=null===c?null:K[b];else{var d=c?new Date(c):new Date;a.watchData[b]=l.fromTimezone(d,H.timezone)}})),E.attr(q(b),\"watchData.\"+b)}}),c.dateDisabled&&(p&&e.warn(\"uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead\"),E.attr(\"date-disabled\",\"dateDisabled({ date: date, mode: mode })\")),angular.forEach([\"formatDay\",\"formatMonth\",\"formatYear\",\"formatDayHeader\",\"formatDayTitle\",\"formatMonthTitle\",\"showWeeks\",\"startingDay\",\"yearRows\",\"yearColumns\"],function(a){angular.isDefined(c[a])&&(p&&e.warn(\"uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead\"),E.attr(q(a),c[a]))}),c.customClass&&(p&&e.warn(\"uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead\"),E.attr(\"custom-class\",\"customClass({ date: date, mode: mode })\")),L?G.$formatters.push(function(b){return a.date=l.fromTimezone(b,H.timezone),b}):(G.$$parserName=\"date\",G.$validators.date=t,G.$parsers.unshift(s),G.$formatters.push(function(b){return G.$isEmpty(b)?(a.date=b,b):(a.date=l.fromTimezone(b,H.timezone),angular.isNumber(a.date)&&(a.date=new Date(a.date)),l.filter(a.date,x))})),G.$viewChangeListeners.push(function(){a.date=r(G.$viewValue)}),b.on(\"keydown\",v),I=d(D)(a),D.remove(),z?h.find(\"body\").append(I):b.after(I),a.$on(\"$destroy\",function(){for(a.isOpen===!0&&(i.$$phase||a.$apply(function(){a.isOpen=!1})),I.remove(),b.off(\"keydown\",v),h.off(\"click\",u),F&&F.off(\"scroll\",w),angular.element(g).off(\"resize\",w);M.length;)M.shift()()})},a.getText=function(b){return a[b+\"Text\"]||m[b+\"Text\"]},a.isDisabled=function(b){return\"today\"===b&&(b=l.fromTimezone(new Date,H.timezone)),a.datepickerOptions?a.datepickerOptions&&a.datepickerOptions.minDate&&a.compare(b,a.datepickerOptions.minDate)<0||a.datepickerOptions.maxDate&&a.compare(b,a.datepickerOptions.maxDate)>0:a.watchData.minDate&&a.compare(b,K.minDate)<0||a.watchData.maxDate&&a.compare(b,K.maxDate)>0},a.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},a.dateSelection=function(c){angular.isDefined(c)&&(a.date=c);var d=a.date?l.filter(a.date,x):null;b.val(d),G.$setViewValue(d),y&&(a.isOpen=!1,b[0].focus())},a.keydown=function(c){27===c.which&&(c.stopPropagation(),a.isOpen=!1,b[0].focus())},a.select=function(b,c){if(c.stopPropagation(),\"today\"===b){var d=new Date;angular.isDate(a.date)?(b=new Date(a.date),b.setFullYear(d.getFullYear(),d.getMonth(),d.getDate())):b=new Date(d.setHours(0,0,0,0))}a.dateSelection(b)},a.close=function(c){c.stopPropagation(),a.isOpen=!1,b[0].focus()},a.disabled=angular.isDefined(c.disabled)||!1,c.ngDisabled&&M.push(a.$parent.$watch(f(c.ngDisabled),function(b){a.disabled=b})),a.$watch(\"isOpen\",function(d){d?a.disabled?a.isOpen=!1:n(function(){w(),A&&a.$broadcast(\"uib:datepicker.focus\"),h.on(\"click\",u);var d=c.popupPlacement?c.popupPlacement:m.placement;z||j.parsePlacement(d)[2]?(F=F||angular.element(j.scrollParent(b)),F&&F.on(\"scroll\",w)):F=null,angular.element(g).on(\"resize\",w)},0,!1):(h.off(\"click\",u),F&&F.off(\"scroll\",w),angular.element(g).off(\"resize\",w))}),a.$on(\"uib:datepicker.mode\",function(){n(w,0,!1)})}]).directive(\"uibDatepickerPopup\",function(){return{require:[\"ngModel\",\"uibDatepickerPopup\"],controller:\"UibDatepickerPopupController\",scope:{datepickerOptions:\"=?\",isOpen:\"=?\",currentText:\"@\",clearText:\"@\",closeText:\"@\",dateDisabled:\"&\",customClass:\"&\"},link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive(\"uibDatepickerPopupWrap\",function(){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||\"uib/template/datepicker/popup.html\"}}}),angular.module(\"ui.bootstrap.debounce\",[]).factory(\"$$debounce\",[\"$timeout\",function(a){return function(b,c){var d;return function(){var e=this,f=Array.prototype.slice.call(arguments);d&&a.cancel(d),d=a(function(){b.apply(e,f)},c)}}}]),angular.module(\"ui.bootstrap.dropdown\",[\"ui.bootstrap.position\"]).constant(\"uibDropdownConfig\",{appendToOpenClass:\"uib-dropdown-open\",openClass:\"open\"}).service(\"uibDropdownService\",[\"$document\",\"$rootScope\",function(a,b){var c=null;this.open=function(b){c||(a.on(\"click\",d),a.on(\"keydown\",e)),c&&c!==b&&(c.isOpen=!1),c=b},this.close=function(b){c===b&&(c=null,a.off(\"click\",d),a.off(\"keydown\",e))};var d=function(a){if(c&&!(a&&\"disabled\"===c.getAutoClose()||a&&3===a.which)){var d=c.getToggleElement();if(!(a&&d&&d[0].contains(a.target))){var e=c.getDropdownElement();a&&\"outsideClick\"===c.getAutoClose()&&e&&e[0].contains(a.target)||(c.isOpen=!1,b.$$phase||c.$apply())}}},e=function(a){27===a.which?(c.focusToggleElement(),d()):c.isKeynavEnabled()&&-1!==[38,40].indexOf(a.which)&&c.isOpen&&(a.preventDefault(),a.stopPropagation(),c.focusDropdownEntry(a.which))}}]).controller(\"UibDropdownController\",[\"$scope\",\"$element\",\"$attrs\",\"$parse\",\"uibDropdownConfig\",\"uibDropdownService\",\"$animate\",\"$uibPosition\",\"$document\",\"$compile\",\"$templateRequest\",function(a,b,c,d,e,f,g,h,i,j,k){var l,m,n=this,o=a.$new(),p=e.appendToOpenClass,q=e.openClass,r=angular.noop,s=c.onToggle?d(c.onToggle):angular.noop,t=!1,u=null,v=!1,w=i.find(\"body\");b.addClass(\"dropdown\"),this.init=function(){if(c.isOpen&&(m=d(c.isOpen),r=m.assign,a.$watch(m,function(a){o.isOpen=!!a})),angular.isDefined(c.dropdownAppendTo)){var e=d(c.dropdownAppendTo)(o);e&&(u=angular.element(e))}t=angular.isDefined(c.dropdownAppendToBody),v=angular.isDefined(c.keyboardNav),t&&!u&&(u=w),u&&n.dropdownMenu&&(u.append(n.dropdownMenu),b.on(\"$destroy\",function(){n.dropdownMenu.remove()}))},this.toggle=function(a){return o.isOpen=arguments.length?!!a:!o.isOpen,angular.isFunction(r)&&r(o,o.isOpen),o.isOpen},this.isOpen=function(){return o.isOpen},o.getToggleElement=function(){return n.toggleElement},o.getAutoClose=function(){return c.autoClose||\"always\"},o.getElement=function(){return b},o.isKeynavEnabled=function(){return v},o.focusDropdownEntry=function(a){var c=n.dropdownMenu?angular.element(n.dropdownMenu).find(\"a\"):b.find(\"ul\").eq(0).find(\"a\");switch(a){case 40:angular.isNumber(n.selectedOption)?n.selectedOption=n.selectedOption===c.length-1?n.selectedOption:n.selectedOption+1:n.selectedOption=0;break;case 38:angular.isNumber(n.selectedOption)?n.selectedOption=0===n.selectedOption?0:n.selectedOption-1:n.selectedOption=c.length-1}c[n.selectedOption].focus()},o.getDropdownElement=function(){return n.dropdownMenu},o.focusToggleElement=function(){n.toggleElement&&n.toggleElement[0].focus()},o.$watch(\"isOpen\",function(c,d){if(u&&n.dropdownMenu){var e,i,m=h.positionElements(b,n.dropdownMenu,\"bottom-left\",!0);if(e={top:m.top+\"px\",display:c?\"block\":\"none\"},i=n.dropdownMenu.hasClass(\"dropdown-menu-right\"),i?(e.left=\"auto\",e.right=window.innerWidth-(m.left+b.prop(\"offsetWidth\"))+\"px\"):(e.left=m.left+\"px\",e.right=\"auto\"),!t){var v=h.offset(u);e.top=m.top-v.top+\"px\",i?e.right=window.innerWidth-(m.left-v.left+b.prop(\"offsetWidth\"))+\"px\":e.left=m.left-v.left+\"px\"}n.dropdownMenu.css(e)}var w=u?u:b,x=w.hasClass(u?p:q);if(x===!c&&g[c?\"addClass\":\"removeClass\"](w,u?p:q).then(function(){angular.isDefined(c)&&c!==d&&s(a,{open:!!c})}),c)n.dropdownMenuTemplateUrl&&k(n.dropdownMenuTemplateUrl).then(function(a){l=o.$new(),j(a.trim())(l,function(a){var b=a;n.dropdownMenu.replaceWith(b),n.dropdownMenu=b})}),o.focusToggleElement(),f.open(o);else{if(n.dropdownMenuTemplateUrl){l&&l.$destroy();var y=angular.element('
    ');n.dropdownMenu.replaceWith(y),n.dropdownMenu=y}f.close(o),n.selectedOption=null}angular.isFunction(r)&&r(a,c)}),a.$on(\"$locationChangeSuccess\",function(){\"disabled\"!==o.getAutoClose()&&(o.isOpen=!1)})}]).directive(\"uibDropdown\",function(){return{controller:\"UibDropdownController\",link:function(a,b,c,d){d.init()}}}).directive(\"uibDropdownMenu\",function(){return{restrict:\"A\",require:\"?^uibDropdown\",link:function(a,b,c,d){if(d&&!angular.isDefined(c.dropdownNested)){b.addClass(\"dropdown-menu\");var e=c.templateUrl;e&&(d.dropdownMenuTemplateUrl=e),d.dropdownMenu||(d.dropdownMenu=b)}}}}).directive(\"uibDropdownToggle\",function(){return{require:\"?^uibDropdown\",link:function(a,b,c,d){if(d){b.addClass(\"dropdown-toggle\"),d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass(\"disabled\")||c.disabled||a.$apply(function(){d.toggle()})};b.bind(\"click\",e),b.attr({\"aria-haspopup\":!0,\"aria-expanded\":!1}),a.$watch(d.isOpen,function(a){b.attr(\"aria-expanded\",!!a)}),a.$on(\"$destroy\",function(){b.unbind(\"click\",e)})}}}}),angular.module(\"ui.bootstrap.stackedMap\",[]).factory(\"$$stackedMap\",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0&&(b=t.top().value,b.modalDomEl.toggleClass(b.windowTopClass||\"\",a))}function m(){if(q&&-1===j()){var a=r;n(q,r,function(){a=null}),q=void 0,r=void 0}}function n(b,c,d,e){function g(){g.done||(g.done=!0,a.leave(b).then(function(){b.remove(),e&&e.resolve()}),c.$destroy(),d&&d())}var h,i=null,j=function(){return h||(h=f.defer(),i=h.promise),function(){h.resolve()}};return c.$broadcast(v.NOW_CLOSING_EVENT,j),f.when(i).then(g)}function o(a){if(a.isDefaultPrevented())return a;var b=t.top();if(b)switch(a.which){case 27:b.value.keyboard&&(a.preventDefault(),e.$apply(function(){v.dismiss(b.key,\"escape key press\")}));break;case 9:var c=v.loadFocusElementList(b),d=!1;a.shiftKey?(v.isFocusInFirstItem(a,c)||v.isModalFocused(a,b))&&(d=v.focusLastFocusableElement(c)):v.isFocusInLastItem(a,c)&&(d=v.focusFirstFocusableElement(c)),d&&(a.preventDefault(),a.stopPropagation())}}function p(a,b,c){return!a.value.modalScope.$broadcast(\"modal.closing\",b,c).defaultPrevented}var q,r,s=\"modal-open\",t=h.createNew(),u=g.createNew(),v={NOW_CLOSING_EVENT:\"modal.stack.now-closing\"},w=\"a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]\";return e.$watch(j,function(a){r&&(r.index=a)}),c.on(\"keydown\",o),e.$on(\"$destroy\",function(){c.off(\"keydown\",o)}),v.open=function(b,f){var g=c[0].activeElement,h=f.openedClass||s;l(!1),t.add(b,{deferred:f.deferred,renderDeferred:f.renderDeferred,closedDeferred:f.closedDeferred,modalScope:f.scope,backdrop:f.backdrop,keyboard:f.keyboard,openedClass:f.openedClass,windowTopClass:f.windowTopClass,animation:f.animation,appendTo:f.appendTo}),u.put(h,b);var i=f.appendTo,k=j();if(!i.length)throw new Error(\"appendTo element not found. Make sure that the element passed is in DOM.\");k>=0&&!q&&(r=e.$new(!0),r.modalOptions=f,r.index=k,q=angular.element('
    '),q.attr(\"backdrop-class\",f.backdropClass),f.animation&&q.attr(\"modal-animation\",\"true\"),d(q)(r),a.enter(q,i));var m=angular.element('
    ');m.attr({\"template-url\":f.windowTemplateUrl,\"window-class\":f.windowClass,\"window-top-class\":f.windowTopClass,size:f.size,index:t.length()-1,animate:\"animate\"}).html(f.content),f.animation&&m.attr(\"modal-animation\",\"true\"),a.enter(d(m)(f.scope),i).then(function(){f.scope.$$uibDestructionScheduled||a.addClass(i,h)}),t.top().value.modalDomEl=m,t.top().value.modalOpener=g},v.close=function(a,b){var c=t.get(a);return c&&p(c,b,!0)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),k(a,c.value.modalOpener),!0):!c},v.dismiss=function(a,b){var c=t.get(a);return c&&p(c,b,!1)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),k(a,c.value.modalOpener),!0):!c},v.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},v.getTop=function(){return t.top()},v.modalRendered=function(a){var b=t.get(a);b&&b.value.renderDeferred.resolve()},v.focusFirstFocusableElement=function(a){return a.length>0?(a[0].focus(),!0):!1},v.focusLastFocusableElement=function(a){return a.length>0?(a[a.length-1].focus(),!0):!1},v.isModalFocused=function(a,b){if(a&&b){var c=b.value.modalDomEl;if(c&&c.length)return(a.target||a.srcElement)===c[0]}return!1},v.isFocusInFirstItem=function(a,b){return b.length>0?(a.target||a.srcElement)===b[0]:!1},v.isFocusInLastItem=function(a,b){return b.length>0?(a.target||a.srcElement)===b[b.length-1]:!1},v.loadFocusElementList=function(a){if(a){var b=a.value.modalDomEl;if(b&&b.length){var c=b[0].querySelectorAll(w);return c?Array.prototype.filter.call(c,function(a){return i(a)}):c}}},v}]).provider(\"$uibModal\",function(){var a={options:{animation:!0,backdrop:!0,keyboard:!0},$get:[\"$rootScope\",\"$q\",\"$document\",\"$templateRequest\",\"$controller\",\"$uibResolve\",\"$uibModalStack\",function(b,c,d,e,f,g,h){function i(a){return a.template?c.when(a.template):e(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl)}var j={},k=null;return j.getPromiseChain=function(){return k},j.open=function(e){function j(){return r}var l=c.defer(),m=c.defer(),n=c.defer(),o=c.defer(),p={result:l.promise,opened:m.promise,closed:n.promise,rendered:o.promise,close:function(a){return h.close(p,a)},dismiss:function(a){return h.dismiss(p,a)}};if(e=angular.extend({},a.options,e),e.resolve=e.resolve||{},e.appendTo=e.appendTo||d.find(\"body\").eq(0),!e.template&&!e.templateUrl)throw new Error(\"One of template or templateUrl options is required.\");var q,r=c.all([i(e),g.resolve(e.resolve,{},null,null)]);return q=k=c.all([k]).then(j,j).then(function(a){var c=e.scope||b,d=c.$new();d.$close=p.close,d.$dismiss=p.dismiss,d.$on(\"$destroy\",function(){d.$$uibDestructionScheduled||d.$dismiss(\"$uibUnscheduledDestruction\")});var g,i,j={};e.controller&&(j.$scope=d,j.$uibModalInstance=p,angular.forEach(a[1],function(a,b){j[b]=a}),i=f(e.controller,j,!0),e.controllerAs?(g=i.instance,e.bindToController&&(g.$close=d.$close,g.$dismiss=d.$dismiss,angular.extend(g,c)),g=i(),d[e.controllerAs]=g):g=i(),angular.isFunction(g.$onInit)&&g.$onInit()),h.open(p,{scope:d,deferred:l,renderDeferred:o,closedDeferred:n,content:a[0],animation:e.animation,backdrop:e.backdrop,keyboard:e.keyboard,backdropClass:e.backdropClass,windowTopClass:e.windowTopClass,windowClass:e.windowClass,windowTemplateUrl:e.windowTemplateUrl,size:e.size,openedClass:e.openedClass,appendTo:e.appendTo}),m.resolve(!0)},function(a){m.reject(a),l.reject(a)})[\"finally\"](function(){k===q&&(k=null)}),p},j}]};return a}),angular.module(\"ui.bootstrap.paging\",[]).factory(\"uibPaging\",[\"$parse\",function(a){return{create:function(b,c,d){b.setNumPages=d.numPages?a(d.numPages).assign:angular.noop,b.ngModelCtrl={$setViewValue:angular.noop},b._watchers=[],b.init=function(a,e){b.ngModelCtrl=a,b.config=e,a.$render=function(){b.render()},d.itemsPerPage?b._watchers.push(c.$parent.$watch(d.itemsPerPage,function(a){b.itemsPerPage=parseInt(a,10),c.totalPages=b.calculateTotalPages(),b.updatePage()})):b.itemsPerPage=e.itemsPerPage,c.$watch(\"totalItems\",function(a,d){(angular.isDefined(a)||a!==d)&&(c.totalPages=b.calculateTotalPages(),b.updatePage())})},b.calculateTotalPages=function(){var a=b.itemsPerPage<1?1:Math.ceil(c.totalItems/b.itemsPerPage);return Math.max(a||0,1)},b.render=function(){c.page=parseInt(b.ngModelCtrl.$viewValue,10)||1},c.selectPage=function(a,d){d&&d.preventDefault();var e=!c.ngDisabled||!d;e&&c.page!==a&&a>0&&a<=c.totalPages&&(d&&d.target&&d.target.blur(),b.ngModelCtrl.$setViewValue(a),b.ngModelCtrl.$render())},c.getText=function(a){return c[a+\"Text\"]||b.config[a+\"Text\"]},c.noPrevious=function(){return 1===c.page},c.noNext=function(){return c.page===c.totalPages},b.updatePage=function(){b.setNumPages(c.$parent,c.totalPages),c.page>c.totalPages?c.selectPage(c.totalPages):b.ngModelCtrl.$render()},c.$on(\"$destroy\",function(){for(;b._watchers.length;)b._watchers.shift()()})}}}]),angular.module(\"ui.bootstrap.pager\",[\"ui.bootstrap.paging\"]).controller(\"UibPagerController\",[\"$scope\",\"$attrs\",\"uibPaging\",\"uibPagerConfig\",function(a,b,c,d){a.align=angular.isDefined(b.align)?a.$parent.$eval(b.align):d.align,c.create(this,a,b)}]).constant(\"uibPagerConfig\",{itemsPerPage:10,previousText:\"« Previous\",nextText:\"Next »\",align:!0}).directive(\"uibPager\",[\"uibPagerConfig\",function(a){return{scope:{totalItems:\"=\",previousText:\"@\",nextText:\"@\",ngDisabled:\"=\"},require:[\"uibPager\",\"?ngModel\"],controller:\"UibPagerController\",controllerAs:\"pager\",templateUrl:function(a,b){return b.templateUrl||\"uib/template/pager/pager.html\"},replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&f.init(g,a)}}}]),angular.module(\"ui.bootstrap.pagination\",[\"ui.bootstrap.paging\"]).controller(\"UibPaginationController\",[\"$scope\",\"$attrs\",\"$parse\",\"uibPaging\",\"uibPaginationConfig\",function(a,b,c,d,e){function f(a,b,c){return{number:a,text:b,active:c}}function g(a,b){\nvar c=[],d=1,e=b,g=angular.isDefined(i)&&b>i;g&&(j?(d=Math.max(a-Math.floor(i/2),1),e=d+i-1,e>b&&(e=b,d=e-i+1)):(d=(Math.ceil(a/i)-1)*i+1,e=Math.min(d+i-1,b)));for(var h=d;e>=h;h++){var n=f(h,m(h),h===a);c.push(n)}if(g&&i>0&&(!j||k||l)){if(d>1){if(!l||d>3){var o=f(d-1,\"...\",!1);c.unshift(o)}if(l){if(3===d){var p=f(2,\"2\",!1);c.unshift(p)}var q=f(1,\"1\",!1);c.unshift(q)}}if(b>e){if(!l||b-2>e){var r=f(e+1,\"...\",!1);c.push(r)}if(l){if(e===b-2){var s=f(b-1,b-1,!1);c.push(s)}var t=f(b,b,!1);c.push(t)}}}return c}var h=this,i=angular.isDefined(b.maxSize)?a.$parent.$eval(b.maxSize):e.maxSize,j=angular.isDefined(b.rotate)?a.$parent.$eval(b.rotate):e.rotate,k=angular.isDefined(b.forceEllipses)?a.$parent.$eval(b.forceEllipses):e.forceEllipses,l=angular.isDefined(b.boundaryLinkNumbers)?a.$parent.$eval(b.boundaryLinkNumbers):e.boundaryLinkNumbers,m=angular.isDefined(b.pageLabel)?function(c){return a.$parent.$eval(b.pageLabel,{$page:c})}:angular.identity;a.boundaryLinks=angular.isDefined(b.boundaryLinks)?a.$parent.$eval(b.boundaryLinks):e.boundaryLinks,a.directionLinks=angular.isDefined(b.directionLinks)?a.$parent.$eval(b.directionLinks):e.directionLinks,d.create(this,a,b),b.maxSize&&h._watchers.push(a.$parent.$watch(c(b.maxSize),function(a){i=parseInt(a,10),h.render()}));var n=this.render;this.render=function(){n(),a.page>0&&a.page<=a.totalPages&&(a.pages=g(a.page,a.totalPages))}}]).constant(\"uibPaginationConfig\",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:\"First\",previousText:\"Previous\",nextText:\"Next\",lastText:\"Last\",rotate:!0,forceEllipses:!1}).directive(\"uibPagination\",[\"$parse\",\"uibPaginationConfig\",function(a,b){return{scope:{totalItems:\"=\",firstText:\"@\",previousText:\"@\",nextText:\"@\",lastText:\"@\",ngDisabled:\"=\"},require:[\"uibPagination\",\"?ngModel\"],controller:\"UibPaginationController\",controllerAs:\"pagination\",templateUrl:function(a,b){return b.templateUrl||\"uib/template/pagination/pagination.html\"},replace:!0,link:function(a,c,d,e){var f=e[0],g=e[1];g&&f.init(g,b)}}}]),angular.module(\"ui.bootstrap.tooltip\",[\"ui.bootstrap.position\",\"ui.bootstrap.stackedMap\"]).provider(\"$uibTooltip\",function(){function a(a){var b=/[A-Z]/g,c=\"-\";return a.replace(b,function(a,b){return(b?c:\"\")+a.toLowerCase()})}var b={placement:\"top\",placementClassPrefix:\"\",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},c={mouseenter:\"mouseleave\",click:\"click\",outsideClick:\"outsideClick\",focus:\"blur\",none:\"\"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=[\"$window\",\"$compile\",\"$timeout\",\"$document\",\"$uibPosition\",\"$interpolate\",\"$rootScope\",\"$parse\",\"$$stackedMap\",function(e,f,g,h,i,j,k,l,m){function n(a){if(27===a.which){var b=o.top();b&&(b.value.close(),o.removeTop(),b=null)}}var o=m.createNew();return h.on(\"keypress\",n),k.$on(\"$destroy\",function(){h.off(\"keypress\",n)}),function(e,k,m,n){function p(a){var b=(a||n.trigger||m).split(\" \"),d=b.map(function(a){return c[a]||a});return{show:b,hide:d}}n=angular.extend({},b,d,n);var q=a(e),r=j.startSymbol(),s=j.endSymbol(),t=\"
    ';return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){N.isOpen?q():m()}function m(){(!M||a.$eval(d[k+\"Enable\"]))&&(u(),x(),N.popupDelay?G||(G=g(r,N.popupDelay,!1)):r())}function q(){s(),N.popupCloseDelay?H||(H=g(t,N.popupCloseDelay,!1)):t()}function r(){return s(),u(),N.content?(v(),void N.$evalAsync(function(){N.isOpen=!0,y(!0),S()})):angular.noop}function s(){G&&(g.cancel(G),G=null),I&&(g.cancel(I),I=null)}function t(){N&&N.$evalAsync(function(){N&&(N.isOpen=!1,y(!1),N.animation?F||(F=g(w,150,!1)):w())})}function u(){H&&(g.cancel(H),H=null),F&&(g.cancel(F),F=null)}function v(){D||(E=N.$new(),D=c(E,function(a){K?h.find(\"body\").append(a):b.after(a)}),z())}function w(){s(),u(),A(),D&&(D.remove(),D=null),E&&(E.$destroy(),E=null)}function x(){N.title=d[k+\"Title\"],Q?N.content=Q(a):N.content=d[e],N.popupClass=d[k+\"Class\"],N.placement=angular.isDefined(d[k+\"Placement\"])?d[k+\"Placement\"]:n.placement;var b=i.parsePlacement(N.placement);J=b[1]?b[0]+\"-\"+b[1]:b[0];var c=parseInt(d[k+\"PopupDelay\"],10),f=parseInt(d[k+\"PopupCloseDelay\"],10);N.popupDelay=isNaN(c)?n.popupDelay:c,N.popupCloseDelay=isNaN(f)?n.popupCloseDelay:f}function y(b){P&&angular.isFunction(P.assign)&&P.assign(a,b)}function z(){R.length=0,Q?(R.push(a.$watch(Q,function(a){N.content=a,!a&&N.isOpen&&t()})),R.push(E.$watch(function(){O||(O=!0,E.$$postDigest(function(){O=!1,N&&N.isOpen&&S()}))}))):R.push(d.$observe(e,function(a){N.content=a,!a&&N.isOpen?t():S()})),R.push(d.$observe(k+\"Title\",function(a){N.title=a,N.isOpen&&S()})),R.push(d.$observe(k+\"Placement\",function(a){N.placement=a?a:n.placement;var b=i.parsePlacement(N.placement);J=b[1]?b[0]+\"-\"+b[1]:b[0],N.isOpen&&S()}))}function A(){R.length&&(angular.forEach(R,function(a){a()}),R.length=0)}function B(a){N&&N.isOpen&&D&&(b[0].contains(a.target)||D[0].contains(a.target)||q())}function C(){var a=d[k+\"Trigger\"];T(),L=p(a),\"none\"!==L.show&&L.show.forEach(function(a,c){\"outsideClick\"===a?(b.on(\"click\",j),h.on(\"click\",B)):a===L.hide[c]?b.on(a,j):a&&(b.on(a,m),b.on(L.hide[c],q)),b.on(\"keypress\",function(a){27===a.which&&q()})})}var D,E,F,G,H,I,J,K=angular.isDefined(n.appendToBody)?n.appendToBody:!1,L=p(void 0),M=angular.isDefined(d[k+\"Enable\"]),N=a.$new(!0),O=!1,P=angular.isDefined(d[k+\"IsOpen\"])?l(d[k+\"IsOpen\"]):!1,Q=n.useContentExp?l(d[e]):!1,R=[],S=function(){D&&D.html()&&(I||(I=g(function(){var a=i.positionElements(b,D,N.placement,K);D.css({top:a.top+\"px\",left:a.left+\"px\"}),D.hasClass(a.placement.split(\"-\")[0])||(D.removeClass(J.split(\"-\")[0]),D.addClass(a.placement.split(\"-\")[0])),D.hasClass(n.placementClassPrefix+a.placement)||(D.removeClass(n.placementClassPrefix+J),D.addClass(n.placementClassPrefix+a.placement)),D.hasClass(\"uib-position-measure\")?(i.positionArrow(D,a.placement),D.removeClass(\"uib-position-measure\")):J!==a.placement&&i.positionArrow(D,a.placement),J=a.placement,I=null},0,!1)))};N.origScope=a,N.isOpen=!1,o.add(N,{close:t}),N.contentExp=function(){return N.content},d.$observe(\"disabled\",function(a){a&&s(),a&&N.isOpen&&t()}),P&&a.$watch(P,function(a){N&&!a===N.isOpen&&j()});var T=function(){L.show.forEach(function(a){\"outsideClick\"===a?b.off(\"click\",j):(b.off(a,m),b.off(a,j))}),L.hide.forEach(function(a){\"outsideClick\"===a?h.off(\"click\",B):b.off(a,q)})};C();var U=a.$eval(d[k+\"Animation\"]);N.animation=angular.isDefined(U)?!!U:n.animation;var V,W=k+\"AppendToBody\";V=W in d&&void 0===d[W]?!0:a.$eval(d[W]),K=angular.isDefined(V)?V:K,a.$on(\"$destroy\",function(){T(),w(),o.remove(N),N=null})}}}}}]}).directive(\"uibTooltipTemplateTransclude\",[\"$animate\",\"$sce\",\"$compile\",\"$templateRequest\",function(a,b,c,d){return{link:function(e,f,g){var h,i,j,k=e.$eval(g.tooltipTemplateTranscludeScope),l=0,m=function(){i&&(i.remove(),i=null),h&&(h.$destroy(),h=null),j&&(a.leave(j).then(function(){i=null}),i=j,j=null)};e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude),function(b){var g=++l;b?(d(b,!0).then(function(d){if(g===l){var e=k.$new(),i=d,n=c(i)(e,function(b){m(),a.enter(b,f)});h=e,j=n,h.$emit(\"$includeContentLoaded\",b)}},function(){g===l&&(m(),e.$emit(\"$includeContentError\",b))}),e.$emit(\"$includeContentRequested\",b)):m()}),e.$on(\"$destroy\",m)}}}]).directive(\"uibTooltipClasses\",[\"$uibPosition\",function(a){return{restrict:\"A\",link:function(b,c,d){if(b.placement){var e=a.parsePlacement(b.placement);c.addClass(e[0])}b.popupClass&&c.addClass(b.popupClass),b.animation()&&c.addClass(d.tooltipAnimationClass)}}}]).directive(\"uibTooltipPopup\",function(){return{replace:!0,scope:{content:\"@\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\"},templateUrl:\"uib/template/tooltip/tooltip-popup.html\"}}).directive(\"uibTooltip\",[\"$uibTooltip\",function(a){return a(\"uibTooltip\",\"tooltip\",\"mouseenter\")}]).directive(\"uibTooltipTemplatePopup\",function(){return{replace:!0,scope:{contentExp:\"&\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\",originScope:\"&\"},templateUrl:\"uib/template/tooltip/tooltip-template-popup.html\"}}).directive(\"uibTooltipTemplate\",[\"$uibTooltip\",function(a){return a(\"uibTooltipTemplate\",\"tooltip\",\"mouseenter\",{useContentExp:!0})}]).directive(\"uibTooltipHtmlPopup\",function(){return{replace:!0,scope:{contentExp:\"&\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\"},templateUrl:\"uib/template/tooltip/tooltip-html-popup.html\"}}).directive(\"uibTooltipHtml\",[\"$uibTooltip\",function(a){return a(\"uibTooltipHtml\",\"tooltip\",\"mouseenter\",{useContentExp:!0})}]),angular.module(\"ui.bootstrap.popover\",[\"ui.bootstrap.tooltip\"]).directive(\"uibPopoverTemplatePopup\",function(){return{replace:!0,scope:{title:\"@\",contentExp:\"&\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\",originScope:\"&\"},templateUrl:\"uib/template/popover/popover-template.html\"}}).directive(\"uibPopoverTemplate\",[\"$uibTooltip\",function(a){return a(\"uibPopoverTemplate\",\"popover\",\"click\",{useContentExp:!0})}]).directive(\"uibPopoverHtmlPopup\",function(){return{replace:!0,scope:{contentExp:\"&\",title:\"@\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\"},templateUrl:\"uib/template/popover/popover-html.html\"}}).directive(\"uibPopoverHtml\",[\"$uibTooltip\",function(a){return a(\"uibPopoverHtml\",\"popover\",\"click\",{useContentExp:!0})}]).directive(\"uibPopoverPopup\",function(){return{replace:!0,scope:{title:\"@\",content:\"@\",placement:\"@\",popupClass:\"@\",animation:\"&\",isOpen:\"&\"},templateUrl:\"uib/template/popover/popover.html\"}}).directive(\"uibPopover\",[\"$uibTooltip\",function(a){return a(\"uibPopover\",\"popover\",\"click\")}]),angular.module(\"ui.bootstrap.progressbar\",[]).constant(\"uibProgressConfig\",{animate:!0,max:100}).controller(\"UibProgressController\",[\"$scope\",\"$attrs\",\"uibProgressConfig\",function(a,b,c){function d(){return angular.isDefined(a.maxParam)?a.maxParam:c.max}var e=this,f=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=d(),this.addBar=function(a,b,c){f||b.css({transition:\"none\"}),this.bars.push(a),a.max=d(),a.title=c&&angular.isDefined(c.title)?c.title:\"progressbar\",a.$watch(\"value\",function(b){a.recalculatePercentage()}),a.recalculatePercentage=function(){var b=e.bars.reduce(function(a,b){return b.percent=+(100*b.value/b.max).toFixed(2),a+b.percent},0);b>100&&(a.percent-=b-100)},a.$on(\"$destroy\",function(){b=null,e.removeBar(a)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1),this.bars.forEach(function(a){a.recalculatePercentage()})},a.$watch(\"maxParam\",function(a){e.bars.forEach(function(a){a.max=d(),a.recalculatePercentage()})})}]).directive(\"uibProgress\",function(){return{replace:!0,transclude:!0,controller:\"UibProgressController\",require:\"uibProgress\",scope:{maxParam:\"=?max\"},templateUrl:\"uib/template/progressbar/progress.html\"}}).directive(\"uibBar\",function(){return{replace:!0,transclude:!0,require:\"^uibProgress\",scope:{value:\"=\",type:\"@\"},templateUrl:\"uib/template/progressbar/bar.html\",link:function(a,b,c,d){d.addBar(a,b,c)}}}).directive(\"uibProgressbar\",function(){return{replace:!0,transclude:!0,controller:\"UibProgressController\",scope:{value:\"=\",maxParam:\"=?max\",type:\"@\"},templateUrl:\"uib/template/progressbar/progressbar.html\",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]),{title:c.title})}}}),angular.module(\"ui.bootstrap.rating\",[]).constant(\"uibRatingConfig\",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:[\"one\",\"two\",\"three\",\"four\",\"five\"]}).controller(\"UibRatingController\",[\"$scope\",\"$attrs\",\"uibRatingConfig\",function(a,b,c){var d={$setViewValue:angular.noop},e=this;this.init=function(e){d=e,d.$render=this.render,d.$formatters.push(function(a){return angular.isNumber(a)&&a<<0!==a&&(a=Math.round(a)),a}),this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff,this.enableReset=angular.isDefined(b.enableReset)?a.$parent.$eval(b.enableReset):c.enableReset;var f=angular.isDefined(b.titles)?a.$parent.$eval(b.titles):c.titles;this.titles=angular.isArray(f)&&f.length>0?f:c.titles;var g=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(g)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(b)},a[b]);return a},this.getTitle=function(a){return a>=this.titles.length?a+1:this.titles[a]},a.rate=function(b){if(!a.readonly&&b>=0&&b<=a.range.length){var c=e.enableReset&&d.$viewValue===b?0:b;d.$setViewValue(c),d.$render()}},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue,a.title=e.getTitle(a.value-1)}}]).directive(\"uibRating\",function(){return{require:[\"uibRating\",\"ngModel\"],scope:{readonly:\"=?readOnly\",onHover:\"&\",onLeave:\"&\"},controller:\"UibRatingController\",templateUrl:\"uib/template/rating/rating.html\",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}),angular.module(\"ui.bootstrap.tabs\",[]).controller(\"UibTabsetController\",[\"$scope\",function(a){function b(a){for(var b=0;bb.index?1:a.index0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===u[1]&&(b+=12)),b):void 0}function i(){var b=+a.minutes;return b>=0&&60>b?b:void 0}function j(){var b=+a.seconds;return b>=0&&60>b?b:void 0}function k(a,b){return null===a?\"\":angular.isDefined(a)&&a.toString().length<2&&!b?\"0\"+a:a.toString()}function l(a){m(),t.$setViewValue(new Date(r)),n(a)}function m(){t.$setValidity(\"time\",!0),a.invalidHours=!1,a.invalidMinutes=!1,a.invalidSeconds=!1}function n(b){if(t.$modelValue){var c=r.getHours(),d=r.getMinutes(),e=r.getSeconds();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours=\"h\"===b?c:k(c,!v),\"m\"!==b&&(a.minutes=k(d)),a.meridian=r.getHours()<12?u[0]:u[1],\"s\"!==b&&(a.seconds=k(e)),a.meridian=r.getHours()<12?u[0]:u[1]}else a.hours=null,a.minutes=null,a.seconds=null,a.meridian=u[0]}function o(a){r=q(r,a),l()}function p(a,b){return q(a,60*b)}function q(a,b){var c=new Date(a.getTime()+1e3*b),d=new Date(a);return d.setHours(c.getHours(),c.getMinutes(),c.getSeconds()),d}var r=new Date,s=[],t={$setViewValue:angular.noop},u=angular.isDefined(c.meridians)?a.$parent.$eval(c.meridians):g.meridians||f.DATETIME_FORMATS.AMPMS,v=angular.isDefined(c.padHours)?a.$parent.$eval(c.padHours):!0;a.tabindex=angular.isDefined(c.tabindex)?c.tabindex:0,b.removeAttr(\"tabindex\"),this.init=function(b,d){t=b,t.$render=this.render,t.$formatters.unshift(function(a){return a?new Date(a):null});var e=d.eq(0),f=d.eq(1),h=d.eq(2),i=angular.isDefined(c.mousewheel)?a.$parent.$eval(c.mousewheel):g.mousewheel;i&&this.setupMousewheelEvents(e,f,h);var j=angular.isDefined(c.arrowkeys)?a.$parent.$eval(c.arrowkeys):g.arrowkeys;j&&this.setupArrowkeyEvents(e,f,h),a.readonlyInput=angular.isDefined(c.readonlyInput)?a.$parent.$eval(c.readonlyInput):g.readonlyInput,this.setupInputEvents(e,f,h)};var w=g.hourStep;c.hourStep&&s.push(a.$parent.$watch(d(c.hourStep),function(a){w=+a}));var x=g.minuteStep;c.minuteStep&&s.push(a.$parent.$watch(d(c.minuteStep),function(a){x=+a}));var y;s.push(a.$parent.$watch(d(c.min),function(a){var b=new Date(a);y=isNaN(b)?void 0:b}));var z;s.push(a.$parent.$watch(d(c.max),function(a){var b=new Date(a);z=isNaN(b)?void 0:b}));var A=!1;c.ngDisabled&&s.push(a.$parent.$watch(d(c.ngDisabled),function(a){A=a})),a.noIncrementHours=function(){var a=p(r,60*w);return A||a>z||r>a&&y>a},a.noDecrementHours=function(){var a=p(r,60*-w);return A||y>a||a>r&&a>z},a.noIncrementMinutes=function(){var a=p(r,x);return A||a>z||r>a&&y>a},a.noDecrementMinutes=function(){var a=p(r,-x);return A||y>a||a>r&&a>z},a.noIncrementSeconds=function(){var a=q(r,B);return A||a>z||r>a&&y>a},a.noDecrementSeconds=function(){var a=q(r,-B);return A||y>a||a>r&&a>z},a.noToggleMeridian=function(){return r.getHours()<12?A||p(r,720)>z:A||p(r,-720)0};b.bind(\"mousewheel wheel\",function(b){A||a.$apply(e(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind(\"mousewheel wheel\",function(b){A||a.$apply(e(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()}),d.bind(\"mousewheel wheel\",function(b){A||a.$apply(e(b)?a.incrementSeconds():a.decrementSeconds()),b.preventDefault()})},this.setupArrowkeyEvents=function(b,c,d){b.bind(\"keydown\",function(b){A||(38===b.which?(b.preventDefault(),a.incrementHours(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementHours(),a.$apply()))}),c.bind(\"keydown\",function(b){A||(38===b.which?(b.preventDefault(),a.incrementMinutes(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementMinutes(),a.$apply()))}),d.bind(\"keydown\",function(b){A||(38===b.which?(b.preventDefault(),a.incrementSeconds(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementSeconds(),a.$apply()))})},this.setupInputEvents=function(b,c,d){if(a.readonlyInput)return a.updateHours=angular.noop,a.updateMinutes=angular.noop,void(a.updateSeconds=angular.noop);var e=function(b,c,d){t.$setViewValue(null),t.$setValidity(\"time\",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c),angular.isDefined(d)&&(a.invalidSeconds=d)};a.updateHours=function(){var a=h(),b=i();t.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(r.setHours(a),r.setMinutes(b),y>r||r>z?e(!0):l(\"h\")):e(!0)},b.bind(\"blur\",function(b){t.$setTouched(),null===a.hours||\"\"===a.hours?e(!0):!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=k(a.hours,!v)})}),a.updateMinutes=function(){var a=i(),b=h();t.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(r.setHours(b),r.setMinutes(a),y>r||r>z?e(void 0,!0):l(\"m\")):e(void 0,!0)},c.bind(\"blur\",function(b){t.$setTouched(),null===a.minutes?e(void 0,!0):!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=k(a.minutes)})}),a.updateSeconds=function(){var a=j();t.$setDirty(),angular.isDefined(a)?(r.setSeconds(a),l(\"s\")):e(void 0,void 0,!0)},d.bind(\"blur\",function(b){!a.invalidSeconds&&a.seconds<10&&a.$apply(function(){a.seconds=k(a.seconds)})})},this.render=function(){var b=t.$viewValue;isNaN(b)?(t.$setValidity(\"time\",!1),e.error('Timepicker directive: \"ng-model\" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(b&&(r=b),y>r||r>z?(t.$setValidity(\"time\",!1),a.invalidHours=!0,a.invalidMinutes=!0):m(),n())},a.showSpinners=angular.isDefined(c.showSpinners)?a.$parent.$eval(c.showSpinners):g.showSpinners,a.incrementHours=function(){a.noIncrementHours()||o(60*w*60)},a.decrementHours=function(){a.noDecrementHours()||o(60*-w*60)},a.incrementMinutes=function(){a.noIncrementMinutes()||o(60*x)},a.decrementMinutes=function(){a.noDecrementMinutes()||o(60*-x)},a.incrementSeconds=function(){a.noIncrementSeconds()||o(B)},a.decrementSeconds=function(){a.noDecrementSeconds()||o(-B)},a.toggleMeridian=function(){var b=i(),c=h();a.noToggleMeridian()||(angular.isDefined(b)&&angular.isDefined(c)?o(720*(r.getHours()<12?60:-60)):a.meridian=a.meridian===u[0]?u[1]:u[0])},a.blur=function(){t.$setTouched()},a.$on(\"$destroy\",function(){for(;s.length;)s.shift()()})}]).directive(\"uibTimepicker\",[\"uibTimepickerConfig\",function(a){return{require:[\"uibTimepicker\",\"?^ngModel\"],controller:\"UibTimepickerController\",controllerAs:\"timepicker\",replace:!0,scope:{},templateUrl:function(b,c){return c.templateUrl||a.templateUrl},link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find(\"input\"))}}}]),angular.module(\"ui.bootstrap.typeahead\",[\"ui.bootstrap.debounce\",\"ui.bootstrap.position\"]).factory(\"uibTypeaheadParser\",[\"$parse\",function(a){var b=/^\\s*([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]+?))?\\s+for\\s+(?:([\\$\\w][\\$\\w\\d]*))\\s+in\\s+([\\s\\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of \"_modelValue_ (as _label_)? for _item_ in _collection_\" but got \"'+c+'\".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).controller(\"UibTypeaheadController\",[\"$scope\",\"$element\",\"$attrs\",\"$compile\",\"$parse\",\"$q\",\"$timeout\",\"$document\",\"$window\",\"$rootScope\",\"$$debounce\",\"$uibPosition\",\"uibTypeaheadParser\",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){N.moveInProgress||(N.moveInProgress=!0,N.$digest()),Y()}function o(){N.position=D?l.offset(b):l.position(b),N.position.top+=b.prop(\"offsetHeight\")}var p,q,r=[9,13,27,38,40],s=200,t=a.$eval(c.typeaheadMinLength);t||0===t||(t=1),a.$watch(c.typeaheadMinLength,function(a){t=a||0===a?a:1});var u=a.$eval(c.typeaheadWaitMs)||0,v=a.$eval(c.typeaheadEditable)!==!1;a.$watch(c.typeaheadEditable,function(a){v=a!==!1});var w,x,y=e(c.typeaheadLoading).assign||angular.noop,z=e(c.typeaheadOnSelect),A=angular.isDefined(c.typeaheadSelectOnBlur)?a.$eval(c.typeaheadSelectOnBlur):!1,B=e(c.typeaheadNoResults).assign||angular.noop,C=c.typeaheadInputFormatter?e(c.typeaheadInputFormatter):void 0,D=c.typeaheadAppendToBody?a.$eval(c.typeaheadAppendToBody):!1,E=c.typeaheadAppendTo?a.$eval(c.typeaheadAppendTo):null,F=a.$eval(c.typeaheadFocusFirst)!==!1,G=c.typeaheadSelectOnExact?a.$eval(c.typeaheadSelectOnExact):!1,H=e(c.typeaheadIsOpen).assign||angular.noop,I=a.$eval(c.typeaheadShowHint)||!1,J=e(c.ngModel),K=e(c.ngModel+\"($$$p)\"),L=function(b,c){return angular.isFunction(J(a))&&q&&q.$options&&q.$options.getterSetter?K(b,{$$$p:c}):J.assign(b,c)},M=m.parse(c.uibTypeahead),N=a.$new(),O=a.$on(\"$destroy\",function(){N.$destroy()});N.$on(\"$destroy\",O);var P=\"typeahead-\"+N.$id+\"-\"+Math.floor(1e4*Math.random());b.attr({\"aria-autocomplete\":\"list\",\"aria-expanded\":!1,\"aria-owns\":P});var Q,R;I&&(Q=angular.element(\"
    \"),Q.css(\"position\",\"relative\"),b.after(Q),R=b.clone(),R.attr(\"placeholder\",\"\"),R.attr(\"tabindex\",\"-1\"),R.val(\"\"),R.css({position:\"absolute\",top:\"0px\",left:\"0px\",\"border-color\":\"transparent\",\"box-shadow\":\"none\",opacity:1,background:\"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)\",color:\"#999\"}),b.css({position:\"relative\",\"vertical-align\":\"top\",\"background-color\":\"transparent\"}),Q.append(R),R.after(b));var S=angular.element(\"
    \");S.attr({id:P,matches:\"matches\",active:\"activeIdx\",select:\"select(activeIdx, evt)\",\"move-in-progress\":\"moveInProgress\",query:\"query\",position:\"position\",\"assign-is-open\":\"assignIsOpen(isOpen)\",debounce:\"debounceUpdate\"}),angular.isDefined(c.typeaheadTemplateUrl)&&S.attr(\"template-url\",c.typeaheadTemplateUrl),angular.isDefined(c.typeaheadPopupTemplateUrl)&&S.attr(\"popup-template-url\",c.typeaheadPopupTemplateUrl);var T=function(){I&&R.val(\"\")},U=function(){N.matches=[],N.activeIdx=-1,b.attr(\"aria-expanded\",!1),T()},V=function(a){return P+\"-option-\"+a};N.$watch(\"activeIdx\",function(a){0>a?b.removeAttr(\"aria-activedescendant\"):b.attr(\"aria-activedescendant\",V(a))});var W=function(a,b){return N.matches.length>b&&a?a.toUpperCase()===N.matches[b].label.toUpperCase():!1},X=function(c,d){var e={$viewValue:c};y(a,!0),B(a,!1),f.when(M.source(a,e)).then(function(f){var g=c===p.$viewValue;if(g&&w)if(f&&f.length>0){N.activeIdx=F?0:-1,B(a,!1),N.matches.length=0;for(var h=0;h0&&i.slice(0,c.length).toUpperCase()===c.toUpperCase()?R.val(c+i.slice(c.length)):R.val(\"\")}}else U(),B(a,!0);g&&y(a,!1)},function(){U(),y(a,!1),B(a,!0)})};D&&(angular.element(i).on(\"resize\",n),h.find(\"body\").on(\"scroll\",n));var Y=k(function(){N.matches.length&&o(),N.moveInProgress=!1},s);N.moveInProgress=!1,N.query=void 0;var Z,$=function(a){Z=g(function(){X(a)},u)},_=function(){Z&&g.cancel(Z)};U(),N.assignIsOpen=function(b){H(a,b)},N.select=function(d,e){var f,h,i={};x=!0,i[M.itemName]=h=N.matches[d].model,f=M.modelMapper(a,i),L(a,f),p.$setValidity(\"editable\",!0),p.$setValidity(\"parse\",!0),z(a,{$item:h,$model:f,$label:M.viewMapper(a,i),$event:e}),U(),N.$eval(c.typeaheadFocusOnSelect)!==!1&&g(function(){b[0].focus()},0,!1)},b.on(\"keydown\",function(b){if(0!==N.matches.length&&-1!==r.indexOf(b.which)){if(-1===N.activeIdx&&(9===b.which||13===b.which)||9===b.which&&b.shiftKey)return U(),void N.$digest();b.preventDefault();var c;switch(b.which){case 9:case 13:N.$apply(function(){angular.isNumber(N.debounceUpdate)||angular.isObject(N.debounceUpdate)?k(function(){N.select(N.activeIdx,b)},angular.isNumber(N.debounceUpdate)?N.debounceUpdate:N.debounceUpdate[\"default\"]):N.select(N.activeIdx,b)});break;case 27:b.stopPropagation(),U(),a.$digest();break;case 38:N.activeIdx=(N.activeIdx>0?N.activeIdx:N.matches.length)-1,N.$digest(),c=S.find(\"li\")[N.activeIdx],c.parentNode.scrollTop=c.offsetTop;break;case 40:N.activeIdx=(N.activeIdx+1)%N.matches.length,N.$digest(),c=S.find(\"li\")[N.activeIdx],c.parentNode.scrollTop=c.offsetTop}}}),b.bind(\"focus\",function(a){w=!0,0!==t||p.$viewValue||g(function(){X(p.$viewValue,a)},0)}),b.bind(\"blur\",function(a){A&&N.matches.length&&-1!==N.activeIdx&&!x&&(x=!0,N.$apply(function(){angular.isObject(N.debounceUpdate)&&angular.isNumber(N.debounceUpdate.blur)?k(function(){N.select(N.activeIdx,a)},N.debounceUpdate.blur):N.select(N.activeIdx,a)})),!v&&p.$error.editable&&(p.$viewValue=\"\",p.$setValidity(\"editable\",!0),p.$setValidity(\"parse\",!0),b.val(\"\")),w=!1,x=!1});var aa=function(c){b[0]!==c.target&&3!==c.which&&0!==N.matches.length&&(U(),j.$$phase||a.$digest())};h.on(\"click\",aa),a.$on(\"$destroy\",function(){h.off(\"click\",aa),(D||E)&&ba.remove(),D&&(angular.element(i).off(\"resize\",n),h.find(\"body\").off(\"scroll\",n)),S.remove(),I&&Q.remove()});var ba=d(S)(N);D?h.find(\"body\").append(ba):E?angular.element(E).eq(0).append(ba):b.after(ba),this.init=function(b,c){p=b,q=c,N.debounceUpdate=p.$options&&e(p.$options.debounce)(a),p.$parsers.unshift(function(b){return w=!0,0===t||b&&b.length>=t?u>0?(_(),$(b)):X(b):(y(a,!1),_(),U()),v?b:b?void p.$setValidity(\"editable\",!1):(p.$setValidity(\"editable\",!0),null)}),p.$formatters.push(function(b){var c,d,e={};return v||p.$setValidity(\"editable\",!0),C?(e.$model=b,C(a,e)):(e[M.itemName]=b,c=M.viewMapper(a,e),e[M.itemName]=void 0,d=M.viewMapper(a,e),c!==d?c:b)})}}]).directive(\"uibTypeahead\",function(){return{controller:\"UibTypeaheadController\",require:[\"ngModel\",\"^?ngModelOptions\",\"uibTypeahead\"],link:function(a,b,c,d){d[2].init(d[0],d[1])}}}).directive(\"uibTypeaheadPopup\",[\"$$debounce\",function(a){return{scope:{matches:\"=\",query:\"=\",active:\"=\",position:\"&\",moveInProgress:\"=\",select:\"&\",assignIsOpen:\"&\",debounce:\"&\"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||\"uib/template/typeahead/typeahead-popup.html\"},link:function(b,c,d){b.templateUrl=d.templateUrl,b.isOpen=function(){var a=b.matches.length>0;return b.assignIsOpen({isOpen:a}),a},b.isActive=function(a){return b.active===a},b.selectActive=function(a){b.active=a},b.selectMatch=function(c,d){var e=b.debounce();angular.isNumber(e)||angular.isObject(e)?a(function(){b.select({activeIdx:c,evt:d})},angular.isNumber(e)?e:e[\"default\"]):b.select({activeIdx:c,evt:d})}}}}]).directive(\"uibTypeaheadMatch\",[\"$templateRequest\",\"$compile\",\"$parse\",function(a,b,c){return{scope:{index:\"=\",match:\"=\",query:\"=\"},link:function(d,e,f){var g=c(f.templateUrl)(d.$parent)||\"uib/template/typeahead/typeahead-match.html\";a(g).then(function(a){var c=angular.element(a.trim());e.replaceWith(c),b(c)(d)})}}}]).filter(\"uibTypeaheadHighlight\",[\"$sce\",\"$injector\",\"$log\",function(a,b,c){function d(a){\nreturn a.replace(/([.?*+^$[\\]\\\\(){}|-])/g,\"\\\\$1\")}function e(a){return/<.*>/g.test(a)}var f;return f=b.has(\"$sanitize\"),function(b,g){return!f&&e(b)&&c.warn(\"Unsafe use of typeahead please use ngSanitize\"),b=g?(\"\"+b).replace(new RegExp(d(g),\"gi\"),\"$&\"):b,f||(b=a.trustAsHtml(b)),b}}]),angular.module(\"uib/template/accordion/accordion-group.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/accordion/accordion-group.html\",'
    \\n
    \\n

    \\n {{heading}}\\n

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/accordion/accordion.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/accordion/accordion.html\",'
    ')}]),angular.module(\"uib/template/alert/alert.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/alert/alert.html\",'
    \\n \\n
    \\n
    \\n')}]),angular.module(\"uib/template/carousel/carousel.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/carousel/carousel.html\",'
    \\n
    \\n 1\">\\n \\n previous\\n \\n 1\">\\n \\n next\\n \\n
      1\">\\n
    1. \\n slide {{ $index + 1 }} of {{ slides.length }}, currently active\\n
    2. \\n
    \\n
    \\n')}]),angular.module(\"uib/template/carousel/slide.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/carousel/slide.html\",'
    \\n')}]),angular.module(\"uib/template/datepicker/datepicker.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/datepicker/datepicker.html\",'
    \\n \\n \\n \\n
    \\n')}]),angular.module(\"uib/template/datepicker/day.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/datepicker/day.html\",'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{::label.abbr}}
    {{ weekNumbers[$index] }}\\n \\n
    \\n')}]),angular.module(\"uib/template/datepicker/month.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/datepicker/month.html\",'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n \\n
    \\n')}]),angular.module(\"uib/template/datepicker/popup.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/datepicker/popup.html\",'
    \\n
      \\n
    • \\n
    • \\n \\n \\n \\n \\n \\n
    • \\n
    \\n
    \\n')}]),angular.module(\"uib/template/datepicker/year.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/datepicker/year.html\",'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n \\n
    \\n')}]),angular.module(\"uib/template/modal/backdrop.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/modal/backdrop.html\",'
    \\n')}]),angular.module(\"uib/template/modal/window.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/modal/window.html\",'
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/pager/pager.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/pager/pager.html\",'\\n')}]),angular.module(\"uib/template/pagination/pager.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/pagination/pager.html\",'\\n')}]),angular.module(\"uib/template/pagination/pagination.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/pagination/pagination.html\",'\\n')}]),angular.module(\"uib/template/tooltip/tooltip-html-popup.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/tooltip/tooltip-html-popup.html\",'
    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/tooltip/tooltip-popup.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/tooltip/tooltip-popup.html\",'
    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/tooltip/tooltip-template-popup.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/tooltip/tooltip-template-popup.html\",'
    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/popover/popover-html.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/popover/popover-html.html\",'
    \\n
    \\n\\n
    \\n

    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/popover/popover-template.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/popover/popover-template.html\",'
    \\n
    \\n\\n
    \\n

    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/popover/popover.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/popover/popover.html\",'
    \\n
    \\n\\n
    \\n

    \\n
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/progressbar/bar.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/progressbar/bar.html\",'
    \\n')}]),angular.module(\"uib/template/progressbar/progress.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/progressbar/progress.html\",'
    ')}]),angular.module(\"uib/template/progressbar/progressbar.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/progressbar/progressbar.html\",'
    \\n
    \\n
    \\n')}]),angular.module(\"uib/template/rating/rating.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/rating/rating.html\",'\\n ({{ $index < value ? \\'*\\' : \\' \\' }})\\n \\n\\n')}]),angular.module(\"uib/template/tabs/tab.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/tabs/tab.html\",'
  • \\n {{heading}}\\n
  • \\n')}]),angular.module(\"uib/template/tabs/tabset.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/tabs/tabset.html\",'
    \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n')}]),angular.module(\"uib/template/timepicker/timepicker.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/timepicker/timepicker.html\",'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
        
      \\n \\n :\\n \\n :\\n \\n
        
      \\n')}]),angular.module(\"uib/template/typeahead/typeahead-match.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/typeahead/typeahead-match.html\",'\\n')}]),angular.module(\"uib/template/typeahead/typeahead-popup.html\",[]).run([\"$templateCache\",function(a){a.put(\"uib/template/typeahead/typeahead-popup.html\",'
        \\n
      • \\n
        \\n
      • \\n
      \\n')}]),angular.module(\"ui.bootstrap.carousel\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibCarouselCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibCarouselCss=!0}),angular.module(\"ui.bootstrap.position\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibPositionCss=!0}),angular.module(\"ui.bootstrap.datepicker\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibDatepickerCss=!0}),angular.module(\"ui.bootstrap.tooltip\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTooltipCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibTooltipCss=!0}),angular.module(\"ui.bootstrap.timepicker\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTimepickerCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibTimepickerCss=!0}),angular.module(\"ui.bootstrap.typeahead\").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTypeaheadCss&&angular.element(document).find(\"head\").prepend(''),angular.$$uibTypeaheadCss=!0});\n!function(e,t){\"object\"==typeof exports?module.exports=t(require(\"angular\")):\"function\"==typeof define&&define.amd?define([\"angular\"],t):t(e.angular)}(this,function(e){\"use strict\";e.module(\"ngWYSIWYG\",[\"ngSanitize\"]),e.module(\"ngWYSIWYG\").config([\"$provide\",function(e){e.decorator(\"$sanitize\",[\"$delegate\",\"$log\",function(e,t){return function(t,n){var o=e(t,n);return o}}])}]),e.module(\"ngWYSIWYG\").constant(\"NGP_EVENTS\",{ELEMENT_CLICKED:\"ngp-element-clicked\",CLICK_AWAY:\"ngp-click-away\"}),e.module(\"ngWYSIWYG\").directive(\"ngpColorsGrid\",[\"NGP_EVENTS\",function(e){var t=function(t,n){t.$on(e.CLICK_AWAY,function(){t.$apply(function(){t.show=!1})}),n.parent().bind(\"click\",function(e){e.stopPropagation()}),t.colors=[\"#000000\",\"#993300\",\"#333300\",\"#003300\",\"#003366\",\"#000080\",\"#333399\",\"#333333\",\"#800000\",\"#FF6600\",\"#808000\",\"#008000\",\"#008080\",\"#0000FF\",\"#666699\",\"#808080\",\"#FF0000\",\"#FF9900\",\"#99CC00\",\"#339966\",\"#33CCCC\",\"#3366FF\",\"#800080\",\"#999999\",\"#FF00FF\",\"#FFCC00\",\"#FFFF00\",\"#00FF00\",\"#00FFFF\",\"#00CCFF\",\"#993366\",\"#C0C0C0\",\"#FF99CC\",\"#FFCC99\",\"#FFFF99\",\"#CCFFCC\",\"#CCFFFF\",\"#99CCFF\",\"#CC99FF\",\"#FFFFFF\"],t.pick=function(e){t.onPick({color:e})},n.ready(function(){function e(t){1==t.nodeType&&(t.setAttribute(\"unselectable\",\"on\"),t.unselectable=\"on\");for(var n=t.firstChild;n;)e(n),n=n.nextSibling}for(var t=0;t
    • '}}]),e.module(\"ngWYSIWYG\").directive(\"ngpSymbolsGrid\",[\"NGP_EVENTS\",function(e){var t=function(t,n){t.$on(e.CLICK_AWAY,function(){t.$apply(function(){t.show=!1})}),n.parent().bind(\"click\",function(e){e.stopPropagation()}),t.symbols=[\"¡\",\"¿\",\"–\",\"—\",\"»\",\"«\",\"©\",\"÷\",\"µ\",\"¶\",\"±\",\"¢\",\"€\",\"£\",\"®\",\"§\",\"™\",\"¥\",\"°\",\"∀\",\"∂\",\"∃\",\"∅\",\"∇\",\"∈\",\"∉\",\"∋\",\"∏\",\"∑\",\"↑\",\"→\",\"↓\",\"♠\",\"♣\",\"♥\",\"♦\",\"á\",\"à\",\"â\",\"å\",\"ã\",\"ä\",\"æ\",\"ç\",\"é\",\"è\",\"ê\",\"ë\",\"í\",\"ì\",\"î\",\"ï\",\"ñ\",\"ó\",\"ò\",\"ô\",\"ø\",\"õ\",\"ö\",\"ß\",\"ú\",\"ù\",\"û\",\"ü\",\"ÿ\"],t.pick=function(e){t.onPick({symbol:e})},n.ready(function(){function e(t){1==t.nodeType&&(t.setAttribute(\"unselectable\",\"on\"),t.unselectable=\"on\");for(var n=t.firstChild;n;)e(n),n=n.nextSibling}for(var t=0;t
    • '}}]),e.module(\"ngWYSIWYG\").service(\"ngpImageResizer\",[\"NGP_EVENTS\",function(e){function t(e){e.preventDefault()}function n(e){e.preventDefault(),e.stopPropagation(),v.style.height=\"\",v.style.width=\"\",l()}function o(e){e.preventDefault(),e.stopPropagation(),v.style.width=\"100%\",v.style.height=\"\",l()}function i(e){return e.target!=y?(c.removeEventListener(\"mousemove\",r),void(h=!1)):(e.stopPropagation(),e.preventDefault(),c.addEventListener(\"mousemove\",r),void(h=!0))}function r(e){e.stopPropagation(),e.preventDefault();var t=e.pageY,n=t-(v.getBoundingClientRect().top+d.pageYOffset);v.style.height=n+\"px\",v.style.width=\"\",g&&e.clientY>g&&d.innerHeight-e.clientY<=45&&d.scrollTo(0,d.innerHeight),g=e.clientY,l()}function a(e,t){return t==p||h?void c.removeEventListener(\"mousemove\",r):\"IMG\"!==t.tagName?s():(p.parentNode||u.appendChild(p),v=t,void l())}function l(){var e=d.getComputedStyle(v);p.style.height=e.getPropertyValue(\"height\"),p.style.width=e.getPropertyValue(\"width\"),p.style.top=v.getBoundingClientRect().top+d.pageYOffset+\"px\",p.style.left=v.getBoundingClientRect().left+d.pageXOffset+\"px\",p.style.display=\"block\"}function s(e){p.parentNode&&(e&&\"IMG\"===e.target.tagName||(p.style.display=\"none\",g=null))}var c,d,u,p,g,m,y,f,h,v,b=this;b.setup=function(r,l){d=l.defaultView,c=l,u=c.querySelector(\"body\"),m=r,p=c.createElement(\"div\"),p.className=\"ngp-image-resizer\",p.style.position=\"absolute\",p.style.border=\"1px dashed black\",p.style.display=\"none\",p.setAttribute(\"contenteditable\",!1),y=c.createElement(\"div\"),y.style.position=\"absolute\",y.style.height=\"10px\",y.style.width=\"10px\",y.style.bottom=\"-5px\",y.style.right=\"-5px\",y.style.border=\"1px solid black\",y.style.backgroundColor=\"#fff\",y.style.cursor=\"se-resize\",y.setAttribute(\"contenteditable\",!1),p.appendChild(y),f=c.createElement(\"div\"),f.style.position=\"absolute\",f.style.height=\"30px\",f.style.width=\"150px\",f.style.bottom=\"-30px\",f.style.left=\"0\",p.appendChild(f);var g=c.createElement(\"button\");g.addEventListener(\"click\",n),g.innerHTML=\"Auto\",f.appendChild(g);var h=c.createElement(\"button\");h.addEventListener(\"click\",o),h.innerHTML=\"100%\",f.appendChild(h),c.addEventListener(\"mousedown\",i),c.addEventListener(\"mouseup\",i),d.parent.document.addEventListener(\"mouseup\",i),u.addEventListener(\"mscontrolselect\",t),m.$on(e.ELEMENT_CLICKED,a),m.$on(e.CLICK_AWAY,s)}}]);var t='
      {toolbar}
      wysiwygsource
      ';return e.module(\"ngWYSIWYG\").directive(\"wysiwygEdit\",[\"ngpUtils\",\"NGP_EVENTS\",\"$rootScope\",\"$compile\",\"$timeout\",\"$q\",function(n,o,i,r,a,l){var s=function(a,s,c,d){function u(){null==m&&(m=document.querySelector(\"wysiwyg-edit\").querySelector(\"iframe\"),y=m.contentDocument,f=y.defaultView)}function p(e){a.$broadcast(\"insertElement\",e)}function g(e){var t=\"<\"+e.type;if(t+=' class=\"'+e[\"class\"],h&&(t+=\" tinyeditor-control-fa\"),t+='\" ',\"div\"==e.type){if(e.title&&(t+='title=\"'+e.title+'\" '),e.backgroundPos&&!h&&(t+='style=\"background-position: '+e.backgroundPos+'; position: relative;\" '),e.pressed&&(t+=\"ng-class=\\\"{'pressed': cursorStyle.\"+e.pressed+'}\" '),e.command){var n=\"'\"+e.command+\"'\";e.commandParameter&&(n+=\", '\"+e.commandParameter+\"'\"),t+='ng-click=\"execCommand('+n+')\" '}else e.specialCommand&&(t+='ng-click=\"'+e.specialCommand+'\" ');t+=\">\",e.faIcon&&h&&\"-\"!=e.faIcon&&(t+=''),e.faIcon&&h&&\"-\"==e.faIcon&&(t+='
      '),e.inner&&(t+=e.inner)}else\"select\"==e.type&&(t+='ng-model=\"'+e.model+'\" ',t+='ng-options=\"'+e.options+'\" ',t+='ng-change=\"'+e.change+'\" ',t+='\");return t+=\"\"}a.editMode=!1,a.cursorStyle={},document.addEventListener(\"click\",function(){i.$broadcast(o.CLICK_AWAY)});var m=null,y=null,f=null;a.panelButtons={\"-\":{type:\"div\",\"class\":\"tinyeditor-divider\"},bold:{type:\"div\",title:\"Bold\",\"class\":\"tinyeditor-control\",faIcon:\"bold\",backgroundPos:\"34px -120px\",pressed:\"bold\",command:\"bold\"},italic:{type:\"div\",title:\"Italic\",\"class\":\"tinyeditor-control\",faIcon:\"italic\",backgroundPos:\"34px -150px\",pressed:\"italic\",command:\"italic\"},underline:{type:\"div\",title:\"Underline\",\"class\":\"tinyeditor-control\",faIcon:\"underline\",backgroundPos:\"34px -180px\",pressed:\"underline\",command:\"underline\"},strikethrough:{type:\"div\",title:\"Strikethrough\",\"class\":\"tinyeditor-control\",faIcon:\"strikethrough\",backgroundPos:\"34px -210px\",pressed:\"strikethrough\",command:\"strikethrough\"},subscript:{type:\"div\",title:\"Subscript\",\"class\":\"tinyeditor-control\",faIcon:\"subscript\",backgroundPos:\"34px -240px\",pressed:\"sub\",command:\"subscript\"},superscript:{type:\"div\",title:\"Superscript\",\"class\":\"tinyeditor-control\",faIcon:\"superscript\",backgroundPos:\"34px -270px\",pressed:\"super\",command:\"superscript\"},leftAlign:{type:\"div\",title:\"Left Align\",\"class\":\"tinyeditor-control\",faIcon:\"align-left\",backgroundPos:\"34px -420px\",pressed:\"alignmet == 'left'\",command:\"justifyleft\"},centerAlign:{type:\"div\",title:\"Center Align\",\"class\":\"tinyeditor-control\",faIcon:\"align-center\",backgroundPos:\"34px -450px\",pressed:\"alignment == 'center'\",command:\"justifycenter\"},rightAlign:{type:\"div\",title:\"Right Align\",\"class\":\"tinyeditor-control\",faIcon:\"align-right\",backgroundPos:\"34px -480px\",pressed:\"alignment == 'right'\",command:\"justifyright\"},blockJustify:{type:\"div\",title:\"Block Justify\",\"class\":\"tinyeditor-control\",faIcon:\"align-justify\",backgroundPos:\"34px -510px\",pressed:\"alignment == 'justify'\",command:\"justifyfull\"},orderedList:{type:\"div\",title:\"Insert Ordered List\",\"class\":\"tinyeditor-control\",faIcon:\"list-ol\",backgroundPos:\"34px -300px\",command:\"insertorderedlist\"},unorderedList:{type:\"div\",title:\"Insert Unordered List\",\"class\":\"tinyeditor-control\",faIcon:\"list-ul\",backgroundPos:\"34px -330px\",command:\"insertunorderedlist\"},outdent:{type:\"div\",title:\"Outdent\",\"class\":\"tinyeditor-control\",faIcon:\"outdent\",backgroundPos:\"34px -360px\",command:\"outdent\"},indent:{type:\"div\",title:\"Indent\",\"class\":\"tinyeditor-control\",faIcon:\"indent\",backgroundPos:\"34px -390px\",command:\"indent\"},removeFormatting:{type:\"div\",title:\"Remove Formatting\",\"class\":\"tinyeditor-control\",faIcon:\"eraser\",backgroundPos:\"34px -720px\",command:\"removeformat\"},undo:{type:\"div\",title:\"Undo\",\"class\":\"tinyeditor-control\",faIcon:\"undo\",backgroundPos:\"34px -540px\",command:\"undo\"},redo:{type:\"div\",title:\"Redo\",\"class\":\"tinyeditor-control\",faIcon:\"repeat\",backgroundPos:\"34px -570px\",command:\"redo\"},fontColor:{type:\"div\",title:\"Font Color\",\"class\":\"tinyeditor-control\",faIcon:\"font\",backgroundPos:\"34px -779px\",specialCommand:\"showFontColors = !showFontColors\",inner:''},backgroundColor:{type:\"div\",title:\"Background Color\",\"class\":\"tinyeditor-control\",faIcon:\"paint-brush\",backgroundPos:\"34px -808px\",specialCommand:\"showBgColors = !showBgColors\",inner:''},image:{type:\"div\",title:\"Insert Image\",\"class\":\"tinyeditor-control\",faIcon:\"picture-o\",backgroundPos:\"34px -600px\",specialCommand:\"insertImage()\"},hr:{type:\"div\",title:\"Insert Horizontal Rule\",\"class\":\"tinyeditor-control\",faIcon:\"-\",backgroundPos:\"34px -630px\",command:\"inserthorizontalrule\"},symbols:{type:\"div\",title:\"Insert Special Symbol\",\"class\":\"tinyeditor-control\",faIcon:\"cny\",backgroundPos:\"34px -838px\",specialCommand:\"showSpecChars = !showSpecChars\",inner:''},link:{type:\"div\",title:\"Insert Hyperlink\",\"class\":\"tinyeditor-control\",faIcon:\"link\",backgroundPos:\"34px -660px\",specialCommand:\"insertLink()\"},unlink:{type:\"div\",title:\"Remove Hyperlink\",\"class\":\"tinyeditor-control\",faIcon:\"chain-broken\",backgroundPos:\"34px -690px\",command:\"unlink\"},print:{type:\"div\",title:\"Print\",\"class\":\"tinyeditor-control\",faIcon:\"print\",backgroundPos:\"34px -750px\",command:\"print\"},font:{type:\"select\",title:\"Font\",\"class\":\"tinyeditor-font\",model:\"font\",options:\"a as a for a in fonts\",change:\"fontChange()\"},size:{type:\"select\",title:\"Size\",\"class\":\"tinyeditor-size\",model:\"fontsize\",options:\"a.key as a.name for a in fontsizes\",change:\"sizeChange()\"},format:{type:\"select\",title:\"Style\",\"class\":\"tinyeditor-size\",model:\"textstyle\",options:\"s.key as s.name for s in styles\",change:\"styleChange()\"}};var h=a.config&&a.config.fontAwesome;a.toolbar=a.config&&a.config.toolbar?a.config.toolbar:[{name:\"basicStyling\",items:[\"bold\",\"italic\",\"underline\",\"strikethrough\",\"subscript\",\"superscript\",\"leftAlign\",\"centerAlign\",\"rightAlign\",\"blockJustify\",\"-\"]},{name:\"paragraph\",items:[\"orderedList\",\"unorderedList\",\"outdent\",\"indent\",\"-\"]},{name:\"doers\",items:[\"removeFormatting\",\"undo\",\"redo\",\"-\"]},{name:\"colors\",items:[\"fontColor\",\"backgroundColor\",\"-\"]},{name:\"links\",items:[\"image\",\"hr\",\"symbols\",\"link\",\"unlink\",\"-\"]},{name:\"tools\",items:[\"print\",\"-\"]},{name:\"styling\",items:[\"font\",\"size\",\"format\"]}];var v=[];e.forEach(a.toolbar,function(t,n){var o=[];e.forEach(t.items,function(e,t){var n=a.panelButtons[e];n||(n=a.config.buttons[e]),this.push(g(n))},o),this.push('
      '+o.join(\"\")+\"
      \")},v);var b=t.replace(\"{toolbar}\",v.join(\"\"));b=b.replace(\"{contentStyle}\",c.contentStyle||\"\"),s.html(b),r(s.contents())(a),a.execCommand=function(e,t){switch(e){case\"bold\":a.cursorStyle.bold=!a.cursorStyle.bold;break;case\"italic\":a.cursorStyle.italic=!a.cursorStyle.italic;break;case\"underline\":a.cursorStyle.underline=!a.cursorStyle.underline;break;case\"strikethrough\":a.cursorStyle.strikethrough=!a.cursorStyle.strikethrough;break;case\"subscript\":a.cursorStyle.sub=!a.cursorStyle.sub;break;case\"superscript\":a.cursorStyle[\"super\"]=!a.cursorStyle[\"super\"];break;case\"justifyleft\":a.cursorStyle.alignment=\"left\";break;case\"justifycenter\":a.cursorStyle.alignment=\"center\";break;case\"justifyright\":a.cursorStyle.alignment=\"right\";break;case\"justifyfull\":a.cursorStyle.alignment=\"justify\"}a.$broadcast(\"execCommand\",{command:e,arg:t})},a.fonts=[\"Verdana\",\"Arial\",\"Arial Black\",\"Arial Narrow\",\"Courier New\",\"Century Gothic\",\"Comic Sans MS\",\"Georgia\",\"Impact\",\"Tahoma\",\"Times\",\"Times New Roman\",\"Webdings\",\"Trebuchet MS\"],a.fontChange=function(){a.execCommand(\"fontname\",a.font)},a.fontsizes=[{key:1,name:\"x-small\"},{key:2,name:\"small\"},{key:3,name:\"normal\"},{key:4,name:\"large\"},{key:5,name:\"x-large\"},{key:6,name:\"xx-large\"},{key:7,name:\"xxx-large\"}],a.mapFontSize={10:1,13:2,16:3,18:4,24:5,32:6,48:7},a.sizeChange=function(){a.execCommand(\"fontsize\",a.fontsize)},a.styles=[{name:\"Paragraph\",key:\"

      \"},{name:\"Header 1\",key:\"

      \"},{name:\"Header 2\",key:\"

      \"},{name:\"Header 3\",key:\"

      \"},{name:\"Header 4\",key:\"

      \"},{name:\"Header 5\",key:\"

      \"},{name:\"Header 6\",key:\"
      \"}],a.styleChange=function(){a.execCommand(\"formatblock\",a.textstyle)},a.showFontColors=!1,a.setFontColor=function(e){a.execCommand(\"foreColor\",e)},a.showBgColors=!1,a.setBgColor=function(e){a.execCommand(\"hiliteColor\",e)},a.showSpecChars=!1,a.insertSpecChar=function(e){p(e)},a.insertLink=function(){if(u(),null!=f.getSelection().focusNode){var t=n.getSelectionBoundaryElement(f,!0),o=\"http://\";if(t&&\"A\"==t.nodeName){o=t.href;var i=y.createRange();i.setStart(t.firstChild,0),i.setEnd(t.firstChild,t.firstChild.length);var r=f.getSelection();r.removeAllRanges(),r.addRange(i)}var s;s=a.api&&a.api.insertLink&&e.isFunction(a.api.insertLink)?a.api.insertLink.apply(a.api.scope||null,[o]):prompt(\"Please enter the URL\",\"http://\"),l.when(s).then(function(e){a.execCommand(\"createlink\",e)})}},a.insertImage=function(){var t;a.api&&a.api.insertImage&&e.isFunction(a.api.insertImage)?t=a.api.insertImage.apply(a.api.scope||null):(t=prompt(\"Please enter the picture URL\",\"http://\"),t=''),l.when(t).then(function(e){p(e)})},s.ready(function(){function e(t){1==t.nodeType&&(t.setAttribute(\"unselectable\",\"on\"),t.unselectable=\"on\");for(var n=t.firstChild;n;)e(n),n=n.nextSibling}for(var t=0;t'),d.close(),d.designMode=\"On\",t.setup(i,d);var u=e.element(l[0].contentDocument.body),p=e.element(l[0].contentDocument.head);u.attr(\"contenteditable\",\"true\"),d.addEventListener(\"click\",function(e){\"HTML\"===e.target.tagName&&e.target.querySelector(\"body\").focus(),i.$emit(o.ELEMENT_CLICKED,e.target)}),s.contentStyle&&p.append(''),c.$render=function(){u[0].innerHTML=c.$viewValue?i.config&&i.config.sanitize?a(c.$viewValue):c.$viewValue:\"\"},i.sync=function(){i.$evalAsync(function(e){c.$setViewValue(u.html())})};var g=null;u.bind(\"click keyup change paste\",function(){g&&r.cancel(g),g=r(function(){var e=u[0].ownerDocument,t=e.querySelector(\".ngp-image-resizer\"),o=u[0].innerHTML;t&&(o=o.replace(t.outerHTML,\"\")),c.$setViewValue(o);var r=n.getSelectionBoundaryElement(l[0].contentWindow,!0);if(r){var a=l[0].contentWindow.getComputedStyle(r),s={bold:\"bold\"==a.getPropertyValue(\"font-weight\")||parseInt(a.getPropertyValue(\"font-weight\"))>=700,italic:\"italic\"==a.getPropertyValue(\"font-style\"),underline:\"underline\"==a.getPropertyValue(\"text-decoration\"),strikethrough:\"line-through\"==a.getPropertyValue(\"text-decoration\"),font:a.getPropertyValue(\"font-family\"),size:parseInt(a.getPropertyValue(\"font-size\")),color:a.getPropertyValue(\"color\"),sub:\"sub\"==a.getPropertyValue(\"vertical-align\"),\"super\":\"super\"==a.getPropertyValue(\"vertical-align\"),background:a.getPropertyValue(\"background-color\"),alignment:a.getPropertyValue(\"text-align\")};i.$emit(\"cursor-position\",s)}},100,!0)}),i.range=null,i.getSelection=function(){if(d.getSelection){var e=d.getSelection();e.getRangeAt&&e.rangeCount&&(i.range=e.getRangeAt(0))}},i.restoreSelection=function(){if(i.range&&d.getSelection){var e=d.getSelection();e.removeAllRanges(),e.addRange(i.range)}},i.$on(\"execCommand\",function(e,t){console.log(\"execCommand: \"),console.log(t),l[0].contentDocument.body.focus();var n=d.selection;if(n){var o=n.createRange();d.execCommand(t.command,0,t.arg),o.collapse(!1),o.select()}else d.execCommand(t.command,0,t.arg);d.body.focus(),i.sync()}),i.$on(\"insertElement\",function(e,t){var n,o;if(d.defaultView.getSelection){if(n=d.defaultView.getSelection(),n.getRangeAt&&n.rangeCount){o=n.getRangeAt(0),o.deleteContents();var r=d.createElement(\"div\");r.innerHTML=t;for(var a,l,s=d.createDocumentFragment();a=r.firstChild;)l=s.appendChild(a);s.firstChild;o.insertNode(s),l&&(o=o.cloneRange(),o.setStartAfter(l),o.collapse(!0),n.removeAllRanges(),n.addRange(o))}}else d.selection&&\"Control\"!=d.selection.type&&d.selection.createRange().pasteHTML(t);i.sync()}),i.$on(\"$destroy\",function(){});try{d.execCommand(\"styleWithCSS\",0,0),d.execCommand(\"enableObjectResizing\",!1,\"false\"),d.execCommand(\"contentReadOnly\",0,\"false\")}catch(m){try{d.execCommand(\"useCSS\",0,1)}catch(m){}}};return{link:l,require:\"ngModel\",scope:{config:\"=ngpContentFrame\"},replace:!0,restrict:\"AE\"}}]),e.module(\"ngWYSIWYG\").directive(\"ngpResizable\",[\"$document\",function(e){return function(t,n){var o=e[0],i=n[0],r=o.createElement(\"span\");r.className=\"resizer\",i.appendChild(r),r.addEventListener(\"mousedown\",function(){function e(e){e.preventDefault();var t=e.pageY;e.view!=o.defaultView&&(t=e.pageY+e.view.frameElement.getBoundingClientRect().top+o.defaultView.pageYOffset);var n=t-(i.getBoundingClientRect().top+o.defaultView.pageYOffset),r=i.style.height.replace(\"px\",\"\");r&&n>r&&window.innerHeight-e.clientY<=45&&o.defaultView.scrollBy(0,n-r),i.style.height=n+\"px\"}function t(){o.removeEventListener(\"mousemove\",e),o.removeEventListener(\"mouseup\",t);for(var n=o.querySelectorAll(\"iframe\"),i=0;i0&&(n=o.getRangeAt(0),i=n[t?\"startContainer\":\"endContainer\"],3===i.nodeType&&(i=i.parentNode))):e.getSelection&&(o=e.getSelection(),o.rangeCount>0&&(n=o.getRangeAt(0),i=n[t?\"startContainer\":\"endContainer\"],3===i.nodeType&&(i=i.parentNode))),i)}}]),\"ngWYSIWYG\"});\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"profileController\", function ($scope, $rootScope, dialogs, restService) {\r\n\r\n $scope.apiEditor = {\r\n scope: $scope\r\n };\r\n\r\n $scope.editorConfig = {\r\n sanitize: false,\r\n fontAwesome: false,\r\n toolbar: [\r\n\t\t\t{ name: 'basicStyling', items: ['bold', 'italic', 'underline', 'strikethrough', '-', 'leftAlign', 'centerAlign', 'rightAlign', 'blockJustify', '-'] },\r\n\t\t\t{ name: 'paragraph', items: $rootScope.mobile ? [] : ['orderedList', 'unorderedList', 'outdent', 'indent', '-'] },\r\n\t\t\t{ name: 'doers', items: $rootScope.mobile ? [] : ['removeFormatting', 'undo', 'redo', '-'] },\r\n\t\t\t{ name: 'colors', items: ['fontColor', 'backgroundColor', '-'] },\r\n\t\t\t{ name: 'links', items: $rootScope.mobile ? [] : ['image', 'hr', 'symbols', 'link', 'unlink', '-'] },\r\n\t\t\t{ name: 'tools', items: ['print', '-'] },\r\n\t\t\t{ name: 'styling', items: ['font', 'size'] },\r\n ]\r\n };\r\n \r\n $scope.forms = {};\r\n \r\n $scope.changePass = function() {\r\n if ($scope.newpass !== $scope.newpass2)\r\n return;\r\n restService.myAccountChangePassword($scope.oldpass, $scope.newpass).then(function (response) {\r\n dialogs.notify(\"Perfil\", \"Contraseña cambiada!\");\r\n });\r\n\r\n }\r\n\r\n});\r\n\r\napp.factory(\"configService\", function($rootScope, $http) {\r\n var service = {};\r\n \r\n service.changePass = function (oldpass, newpass, callback) {\r\n $http.get($rootScope.server + \"config/changepass?oldpass=\" + oldpass + \"&newpass=\" + newpass).then(function successCallback(response) {\r\n var respuesta = { error: false, data: response.data };\r\n callback(respuesta);\r\n }, function errorCallback(response) {\r\n var respuesta = { error: true, data: response.data.message };\r\n callback(respuesta);\r\n });\r\n };\r\n\r\n service.getLastCon = function (callback) {\r\n $http.get($rootScope.server + \"config/getlastcon\").then(function successCallback(response) {\r\n var respuesta = { error: false, data: response.data };\r\n callback(respuesta);\r\n }, function errorCallback(response) {\r\n var respuesta = { error: true, data: response.data.message };\r\n callback(respuesta);\r\n });\r\n };\r\n\r\n return service;\r\n});\nangular.module('app').controller('saldoController', function ($rootScope, saldoService, $uibModalInstance, data) {\r\n var vm = {\r\n close: function () {\r\n $uibModalInstance.dismiss('Canceled');\r\n },\r\n\r\n }\r\n\r\n function init() {\r\n vm.saldo = data.saldo;\r\n vm.movimientos = data.movimientos;\r\n }\r\n\r\n init();\r\n return vm;\r\n});\r\n\r\nangular.module('app').service('saldoService', function (restService, $rootScope, $interval, dialogs, $timeout, appService) {\r\n var serv = {\r\n\r\n saldo : {},\r\n\r\n init: function () {\r\n if (serv.initialized) return;\r\n serv.initialized = true;\r\n var inter = $interval(function () {\r\n console.log(\"saldo check if ready\");\r\n if ($rootScope.appReady && appService.session.isAuthenticated) {\r\n $interval.cancel(inter);\r\n serv.load();\r\n serv.start();\r\n }\r\n }, 3000);\r\n },\r\n load: function () {\r\n restService.saldoGet().then(function (res) {\r\n serv.saldo = res.table[0];\r\n serv.movimientos = res.table1;\r\n });\r\n },\r\n start: function () {\r\n // Si esta activado mostrar mensaje en la config general \r\n if ($rootScope.config.saldo.check) {\r\n // esperar un tiempo a que cargue saldo\r\n $timeout(function () {\r\n console.log(\"saldo timeout end\");\r\n if (serv.saldo.estatus === 2)\r\n serv.show();\r\n // si esta activado repetir mensaje en la configuracion de la cuenta \r\n if (serv.saldo.repetirMensaje) {\r\n console.log(\"saldo start repeat\");\r\n serv.interval = $interval(function () { \r\n if (serv.saldo.estatus < 2)\r\n $interval.cancel(serv.interval);\r\n else\r\n serv.show();\r\n // cargar de nuevo saldo para el siguiente ciclo\r\n serv.load();\r\n }, $rootScope.config.saldo.intervalo * 1000);\r\n }\r\n }, 5000);\r\n }\r\n },\r\n stop: function () {\r\n if (serv.interval)\r\n $interval.cancel(serv.interval);\r\n serv.saldo = {};\r\n serv.movimientos = undefined;\r\n serv.initialized = false;\r\n },\r\n check: function () {\r\n if (serv.saldo.estatus === 2)\r\n serv.show();\r\n },\r\n show: function () {\r\n if (serv.dialogOpen === true) return;\r\n serv.dialogOpen = true;\r\n var data = { saldo: serv.saldo, movimientos: serv.movimientos };\r\n dialogs.create(\"app/pages/account/saldo.html\", \"saldoController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' }, 'vm').result.finally(function () { serv.dialogOpen = false; });\r\n }\r\n }\r\n return serv;\r\n});\nvar app = angular.module(\"app\");\r\napp.controller(\"appointmentsController\", function ($scope, $rootScope, $filter, $state, $anchorScroll, $window, $uibModal, $css, restService, appConfig, dialogs, appService) {\r\n \r\n $scope.loading = true;\r\n $scope.format = \"dd-MMMM-yyyy\";\r\n $scope.open1 = function () {\r\n $scope.popup1.opened = true;\r\n };\r\n $scope.popup1 = { opened: false };\r\n $scope.dateOptions = {\r\n formatYear: 'yy',\r\n startingDay: 1\r\n };\r\n $scope.altInputFormats = [\"M!/d!/yyyy\"];\r\n $scope.today = function () {\r\n $scope.dt = new Date();\r\n };\r\n $scope.today();\r\n $scope.clear = function () {\r\n $scope.dt = null;\r\n };\r\n // Disable weekend selection\r\n //$scope.disabled = function (date, mode) {\r\n // return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6);\r\n //};\r\n\r\n $scope.forms = {};\r\n $scope.mastercita = {};\r\n $scope.mensajes = [];\r\n var pacienteTemp = {};\r\n var newCita = false;\r\n $scope.globals = function () { return appConfig.globals();} \r\n \r\n // $css.bind({\r\n // href: 'css/sidebar-menu-desktop.css'\r\n // }, $scope);\r\n\r\n $scope.toggleState = function () {\r\n $scope.state = !$scope.state;\r\n };\r\n\r\n $scope.sendMessage = function(msg, stopLoading) {\r\n \r\n if (stopLoading) $scope.loading = false;\r\n }\r\n\r\n $scope.GetMedicos = function() {\r\n restService.apptsMedics().then(function (data) {\r\n $scope.medicos = data;\r\n $rootScope.selectedMedico = $scope.medicos[0];\r\n $scope.GetCitas(true);\r\n });\r\n }\r\n\r\n $scope.ChangeMedico = function(med) {\r\n $rootScope.selectedMedico = med;\r\n $scope.GetCitas(true);\r\n }\r\n\r\n $scope.GetCitas = function (selectfirst) {\r\n $scope.formatDate = $filter(\"date\")($scope.dt, \"yyyy-MM-dd\");\r\n restService.apptsGetAll($scope.formatDate, $scope.selectedMedico.noCuenta, $scope.selectedMedico.idMedico).then(function (data) {\r\n $scope.citas = data.appointments;\r\n $scope.VistaChange(selectfirst);\r\n if (data.unavaible)\r\n $scope.mensajes.push({ titulo: \"Fecha Libre\", type: \"warning\", contenido: data.reason });\r\n });\r\n };\r\n\r\n $scope.CitaClass = function(id) {\r\n switch (id) {\r\n case 3:\r\n return \"bg-info citasListItem\";\r\n case 4:\r\n return \"bg-warning\";\r\n case 5:\r\n return \"bg-success\";\r\n case 6:\r\n return \"bg-danger\";\r\n case 7:\r\n return \"bg-danger\";\r\n default:\r\n return \"citaListItem\";\r\n }\r\n };\r\n \r\n $scope.VistaChange = function(selectfirst) {\r\n var filtered = [];\r\n angular.forEach($scope.citas, function(item, i) {\r\n var push = false;\r\n var dt = new Date();\r\n switch ($scope.vista) {\r\n case \"0\":\r\n push = true;\r\n break;\r\n case \"1\":\r\n var newDate1 = new Date(Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes() - 15, dt.getSeconds())).toJSON();\r\n if ((item.status == null || item.status === 1) && item.time >= newDate1) push = true;\r\n break;\r\n case \"2\":\r\n if (item.status > 2 && item.status <= 7) push = true;\r\n break;\r\n case \"3\":\r\n var newDate = new Date(Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate(), dt.getHours(), dt.getMinutes() - 15, dt.getSeconds())).toJSON();\r\n if (item.status > 2 && item.status <= 7 && item.time >= newDate) push = true;\r\n break;\r\n }\r\n if (push) {\r\n filtered.push(item);\r\n }\r\n });\r\n $scope.citasview = filtered;\r\n\r\n var pref = appConfig.preferences();\r\n pref.apptView = $scope.vista;\r\n appConfig.setPreferences(pref);\r\n\r\n if(selectfirst)\r\n $scope.SelectCita($scope.citasview[0]);\r\n newCita = false;\r\n };\r\n\r\n $scope.SelectCita = function (c) {\r\n // cerrar sidemenu\r\n $scope.state = false;\r\n\r\n $scope.cita = angular.copy($scope.mastercita);\r\n\r\n $scope.mastercita = c;\r\n\r\n $scope.cita = angular.copy(c);\r\n \r\n if($scope.forms.myForm!=null)\r\n $scope.forms.myForm.$setPristine();\r\n\r\n \r\n\r\n if ($scope.cita!=null) {\r\n if ($scope.cita.appointmentId == null) {\r\n $scope.citaDisponible = true;\r\n $scope.EstatusClass = \"\";\r\n //$scope.enviar = $rootScope.globals.user.account.preferences.enableEmail;\r\n $scope.enviar = true;\r\n if (pacienteTemp.patientId) {\r\n $scope.cita.patientId = pacienteTemp.patientId;\r\n $scope.cita.name = pacienteTemp.name;\r\n $scope.cita.lastName = pacienteTemp.lastName;\r\n $scope.cita.motherLastName = pacienteTemp.motherLastName;\r\n $scope.cita.email = pacienteTemp.email;\r\n $scope.cita.personalPhone = pacienteTemp.personalPhone;\r\n $scope.cita.insuranceId = pacienteTemp.insuranceId;\r\n $scope.cita.nss = pacienteTemp.nss;\r\n $scope.cita.curp = pacienteTemp.curp;\r\n }\r\n\r\n } else {\r\n $scope.citaDisponible = false;\r\n $scope.enviar = false;\r\n switch ($scope.cita.status) {\r\n case 1:\r\n $scope.EstatusClass = \"\";\r\n break;\r\n case 2:\r\n $scope.EstatusClass = \"text-danger\";\r\n break;\r\n case 3:\r\n $scope.EstatusClass = \"text-info\";\r\n break;\r\n case 4:\r\n $scope.EstatusClass = \"text-warning\";\r\n break;\r\n case 5:\r\n $scope.EstatusClass = \"text-success\";\r\n break;\r\n case 6:\r\n $scope.EstatusClass = \"text-danger\";\r\n break;\r\n case 7:\r\n $scope.EstatusClass = \"text-danger\";\r\n break;\r\n default:\r\n $scope.EstatusClass = \"\";\r\n break;\r\n }\r\n }\r\n } else {\r\n $scope.citaDisponible = false;\r\n $scope.EstatusClass = \"\";\r\n }\r\n $anchorScroll(\"toppage\");\r\n };\r\n\r\n $scope.catestatus = [{ id: 1, name: \"Disponible\" }, { id: 2, name: \"No Disponible\" }, { id: 3, name: \"Apartado\" }, { id: 4, name: \"En Espera\" }, { id: 5, name: \"Atendido\" }, { id: 6, name: \"Cancelado\" }, { id: 7, name: \"Falto\" }];\r\n //$scope.catgrupos = [{ id: 0, name: \"Todos\" }, { id: 1, name: \"Particular\" }, { id: 2, name: \"ISSSTESON\" }];\r\n\r\n\r\n $scope.NombreClass = function(id) {\r\n if (id) return \"has-success\";\r\n else\r\n return \"\";\r\n };\r\n\r\n $scope.NuevoHorario = function () {\r\n $scope.nuevaHora = $filter('date')($scope.dt, \"yyyy-MM-ddT12:00:00\" );\r\n var c = {\r\n accountId: $scope.selectedMedico.noCuenta,\r\n medicId: $scope.selectedMedico.idMedico,\r\n time: $filter('date')($scope.dt, \"yyyy-MM-ddT12:00:00\" ),\r\n status: 1,\r\n //insuranceId: 1,\r\n nss: \"\",\r\n name: \"\",\r\n lastName: \"\",\r\n motherlastName: \"\",\r\n //fechaAlta: new Date(),\r\n email: \"\",\r\n personalPhone: \"\",\r\n statusName: \"Nueva\",\r\n isNew: true\r\n }\r\n $scope.SelectCita(c);\r\n }\r\n\r\n $scope.Guardar = function () {\r\n if (!$scope.forms.myForm.$valid && $scope.cita.status!==2)\r\n return;\r\n\r\n var nueva = false;\r\n\r\n if ($scope.cita.appointmentId == null) {\r\n $scope.cita.appointmentId = -1;\r\n if ($scope.cita.status === 1)\r\n $scope.cita.status = 3;\r\n $scope.cita.ip = \"\";\r\n nueva = true;\r\n }\r\n if ($scope.cita.isNew)\r\n $scope.cita.time = $filter('date')($scope.nuevaHora, \"yyyy-MM-ddTHH:mm:00\");\r\n\r\n var data =\r\n {\r\n appointmentId: $scope.cita.appointmentId,\r\n accountId: $scope.cita.accountId,\r\n medicId: $scope.cita.medicId,\r\n date: $scope.cita.time,\r\n status: $scope.cita.status,\r\n tipoCitaId : $scope.cita.tipoCitaId,\r\n insuranceId: $scope.cita.insuranceId,\r\n nss: $scope.cita.nss,\r\n name: $scope.cita.name,\r\n lastName: $scope.cita.lastName,\r\n motherLastName: $scope.cita.motherLastName,\r\n //FechaAlta: new Date(),\r\n patientId: $scope.cita.patientId,\r\n email: $scope.cita.email,\r\n personalPhone: $scope.cita.personalPhone,\r\n ip: $scope.cita.ip\r\n\r\n };\r\n var send = 0;\r\n //$scope.enviar = false;\r\n if ($scope.enviar) {\r\n send = 3;\r\n }\r\n /*msg 0 ninguno, 1 solo correo, 2 solo mensaje, 3 ambos*/\r\n /*accion 0 apartar, 1 actualizar, 2 crear*/\r\n var accion = 0;\r\n if ($scope.cita.appointmentId > 0) accion = 1;\r\n restService.apptSave(data, accion, send).then(function (data) {\r\n $scope.cita.appointmentId = data.appt.appointmentId;\r\n $scope.cita.status = data.appt.status;\r\n $scope.cita.statusName = \"Apartado\";\r\n $scope.EstatusClass = \"text-info\";\r\n $scope.citaDisponible = false;\r\n $scope.forms.myForm.$setPristine();\r\n $scope.mastercita = data.appt;\r\n $scope.GetCitas(false);\r\n if (nueva) {\r\n $scope.mensajes.push({ titulo: \"Cita apartada! \", type: \"success\", contenido: \"\" });\r\n pacienteTemp = {};\r\n\r\n } else\r\n $scope.mensajes.push({ titulo: \"Cambios guardados! \", type: \"success\", contenido: \"\" });\r\n\r\n\r\n if (data.email)\r\n $scope.mensajes.push({ titulo: \"Los correos fueron enviados! \", type: \"success\", contenido: \"\" });\r\n if (!data.email && send === 3)//&& $rootScope.globals.user.account.preferences.enableEmail)\r\n $scope.mensajes.push({ titulo: \"No se pudieron enviar los correos! \", type: \"danger\", contenido: data.emailMsg });\r\n\r\n }, function (err) {\r\n if (nueva) {\r\n $scope.cita.appointmentId = null;\r\n $scope.cita.status = null;\r\n }\r\n });\r\n };\r\n\r\n $scope.QuitarDisponibilidad = function () {\r\n $scope.cita.status = 2;\r\n $scope.cita.name = \"No Disponible\";\r\n $scope.cita.lastName = \"\";\r\n $scope.enviar = false;\r\n $scope.Guardar();\r\n }\r\n\r\n \r\n $scope.Delete = function () {\r\n dialogs.confirm(\"Eliminar\", \"Esta absolutamente seguro de eliminar la cita?\").result.then(function () {\r\n restService.apptDelete($scope.cita.appointmentId).then(function (data) {\r\n $scope.GetCitas(true); \r\n });\r\n }); \r\n };\r\n\r\n $scope.Cancelar = function (eliminar, falto) {\r\n \r\n var dlg = {};\r\n\r\n if (falto) {\r\n dlg = dialogs.confirm(\"Falta\", \"Esta seguro de establecer la cita en -Falta- ?\");\r\n }\r\n else\r\n {\r\n var data = { question: \"Si está seguro de cancelar la cita, escriba el motivo de la cancelación.\" };\r\n if (eliminar) data.question = \"Si está seguro de cancelar la cita y dejarla disponible, escriba el motivo de la cancelación.\";\r\n dlg = dialogs.create(\"app/messages/questionMessage.html\", \"questionMessageController\", data)\r\n }\r\n\r\n dlg.result.then(function (answer) {\r\n var postData = { apptId: $scope.cita.appointmentId, reason: answer, eliminar: eliminar, falto: falto };\r\n var accion = 0;\r\n if (falto) accion = 1;\r\n if (eliminar) accion = 2;\r\n restService.apptCancel(postData, accion).then(function (resData) {\r\n $scope.GetCitas(true);\r\n });\r\n }); \r\n }\r\n\r\n $scope.openList = function () {\r\n if ($scope.cita.status >= 5)\r\n return;\r\n \r\n var data = { search: $scope.cita.lastName, accountId: $scope.selectedMedico.noCuenta }\r\n dialogs.create(\"app/pages/patients/patientsList.html\", \"patientsListController\", data, {\r\n windowClass: 'pacientesModal', size: 'lg'\r\n }).result.then(function (selectedItem) {\r\n $scope.cita.name = selectedItem.name;\r\n $scope.cita.lastName = selectedItem.lastName;\r\n $scope.cita.motherLastName = selectedItem.motherLastName;\r\n $scope.cita.patientId = selectedItem.patientId;\r\n $scope.cita.curp = selectedItem.curp;\r\n $scope.cita.nss = selectedItem.nss;\r\n if ($scope.cita.status === 1) {\r\n $scope.cita.email = selectedItem.email;\r\n $scope.cita.personalPhone = selectedItem.personalPhone;\r\n $scope.cita.insuranceId = selectedItem.insuranceId;\r\n }\r\n $scope.cita.conCambios = true;\r\n $scope.forms.myForm.$setDirty();\r\n });\r\n\r\n \r\n };\r\n\r\n $scope.closeMensaje = function(index) {\r\n $scope.mensajes.splice(index, 1);\r\n };\r\n \r\n //pacienteTemp = pacientesService.getPT();\r\n\r\n if (pacienteTemp.patientId) {\r\n $scope.vista = \"1\";\r\n $scope.open1();\r\n } else {\r\n $scope.vista = appConfig.preferences().apptView || \"1\";\r\n }\r\n\r\n $scope.beginAppointment = function()\r\n {\r\n $state.go('app.records', { patientId: $scope.cita.patientId, apptId: $scope.cita.appointmentId });\r\n }\r\n\r\n $scope.GetMedicos(true);\r\n\r\n\r\n ////// v2 ///////\r\n\r\n function init() {\r\n $scope.catalogs = appService.catalogs.copy();\r\n };\r\n\r\n init();\r\n\r\n});\r\n\r\n\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"awaydatesController\", function ($scope, restService, $filter) {\r\n $scope.loading = false;\r\n\r\n $scope.formdata = {};\r\n\r\n $scope.GetFechas = function () {\r\n restService.awayDateGetAll($scope.selectedMedico.noCuenta, $scope.selectedMedico.idMedico).then(function (data) {\r\n $scope.fechas = data; \r\n });\r\n }\r\n\r\n $scope.Guardar = function () {\r\n var data = {\r\n accountId: $scope.selectedMedico.noCuenta,\r\n medicId: $scope.selectedMedico.idMedico,\r\n userId: $scope.selectedMedico.idRecepcionista,\r\n dateStart: $filter('date')($scope.formdata.dateStart, \"yyyy-MM-ddT00:00:00\"),\r\n reason: $scope.formdata.reason\r\n };\r\n\r\n if ($scope.formdata.dateEnd)\r\n data.dateEnd = $filter('date')($scope.formdata.dateEnd, \"yyyy-MM-ddT00:00:00\");\r\n else\r\n data.dateEnd = data.dateStart;\r\n \r\n restService.awayDateAdd(data).then(function () {\r\n $scope.fechas.splice(0, 0, data);\r\n });\r\n }\r\n\r\n $scope.Eliminar = function (data) {\r\n restService.awayDateDelete(data).then(function (data) {\r\n var index = $scope.fechas.indexOf(data);\r\n $scope.fechas.splice(index, 1);\r\n });\r\n }\r\n if($scope.selectedMedico)\r\n $scope.GetFechas();\r\n});\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"catalogsController\", function ($scope, $uibModalInstance, restService, dialogs, appConfig, data) {\r\n \r\n $scope.buscarNombre = data.searchText;\r\n $scope.cat = data.catalogue;\r\n if ($scope.cat === 6) $scope.cat = 1;\r\n $scope.titulo = data.title;\r\n $scope.contenidoPlaceholder = \"CODIGO - \";\r\n switch ($scope.cat) {\r\n case 1:\r\n $scope.contenidoPlaceholder = \"CODIGO\";\r\n break;\r\n default:\r\n }\r\n \r\n $scope.onTextClick = function ($event) {\r\n $event.target.select();\r\n };\r\n\r\n $scope.ok = function () {\r\n if ($scope.selectedItem) {\r\n $uibModalInstance.close($scope.selectedItem);\r\n } else {\r\n $uibModalInstance.dismiss(\"cancel\");\r\n }\r\n };\r\n\r\n $scope.selectItem = function (p) {\r\n $scope.selectedItem = p;\r\n $scope.editItem = angular.copy(p);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss(\"cancel\");\r\n };\r\n\r\n function removeAccents(value) {\r\n return value\r\n .replace(/á/g, 'a')\r\n .replace(/é/g, 'e')\r\n .replace(/í/g, 'i')\r\n .replace(/ó/g, 'o')\r\n .replace(/ú/g, 'u');\r\n }\r\n\r\n $scope.updateList = function () {\r\n var search = removeAccents($scope.buscarNombre.toLowerCase());\r\n restService.catSearch($scope.cat, search).then(function (response) {\r\n $scope.list = response;\r\n });\r\n };\r\n\r\n $scope.updateItem = function() {\r\n if (!$scope.editItem)\r\n return;\r\n\r\n if ($scope.editItem.name.trim() === \"\") {\r\n return;\r\n }\r\n\r\n restService.catSave($scope.cat, $scope.editItem).then(function (response) {\r\n if ($scope.editItem.id === -1 || $scope.editItem.accountId===0) {\r\n $scope.editItem.id = response;\r\n $scope.editItem.accountId = appConfig.globals().accountId;\r\n $scope.list.splice(0, 0, $scope.editItem);\r\n } else {\r\n $scope.selectedItem.name = $scope.editItem.name;\r\n $scope.selectedItem.data = $scope.editItem.data;\r\n }\r\n dialogs.notify($scope.titulo, \"Guardado!\");\r\n });\r\n };\r\n\r\n $scope.createItem = function () {\r\n $scope.editItem = {\r\n name: \"\",\r\n id: -1,\r\n data: \"\",\r\n accountId: appConfig.globals().accountId,\r\n //laboratorio: \"\"\r\n };\r\n //focus('editBox');\r\n };\r\n\r\n $scope.delete = function() {\r\n if (!$scope.selectedItem || $scope.selectedItem.accountId === 0)\r\n return;\r\n\r\n dialogs.confirm($scope.titulo, \"Seguro que desea eliminar el registro?\").then( function() {\r\n restService.catDelete($scope.cat, $scope.selectedItem.id).then(function(response) {\r\n var index = $scope.list.indexOf($scope.selectedItem);\r\n $scope.list.splice(index, 1);\r\n $scope.selectedItem = null;\r\n dialogs.notify($scope.titulo, \"Eliminado!\");\r\n });\r\n });\r\n };\r\n \r\n $scope.createItem();\r\n \r\n});\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular.module('app')\r\n .controller('loginController', controller)\r\n .factory('base64Service', base64);\r\n\r\n\r\n function controller($scope, appConfig, restService, $state, $http, $rootScope, base64Service, $stateParams, appService, saldoService) {\r\n\r\n $scope.username = \"\";\r\n $scope.password = \"\";\r\n\r\n $scope.login = function () {\r\n $scope.dataLoading = true;\r\n var auth = { authBase64: base64Service.encode($scope.username + ':' + $scope.password) };\r\n restService.login(auth, { showAlert: false }).then(function (response) {\r\n appConfig.setGlobals(response);\r\n $http.defaults.headers.common['Authorization'] = 'Token ' + response.token;\r\n\r\n //// v2 ///////////////\r\n $scope.preLoginSuccess = true;\r\n var usuario = response; \r\n restService.appConfig().then(function (cfg) {\r\n appService.catalogs.load(cfg.table); \r\n \r\n if(angular.isUndefined(usuario.cuenta))\r\n usuario.cuenta = {};\r\n usuario.cuenta.preferencias = cfg.table1[0];\r\n\r\n appService.session.load(usuario); \r\n\r\n \r\n switch (appService.session.usuario.role) {\r\n case 0:\r\n case 1: //superadmin\r\n $state.go('app.accounts');\r\n break;\r\n case 2: //medico\r\n if ($rootScope.mobile)\r\n $state.go('app.records');\r\n else\r\n $state.go('app.appointments', { apptView: \"2\" });\r\n break;\r\n case 3: //recepcionista\r\n $state.go('app.appointments');\r\n break;\r\n case 4: //manejador de cuenta\r\n $state.go('app.accounts');\r\n break;\r\n }\r\n }, function (err) {\r\n $scope.preLoginSuccess = false;\r\n appService.session.clear();\r\n $scope.error = err.handled.message;\r\n $scope.dataLoading = false;\r\n });\r\n return;\r\n ////////// end v2 ////////////////\r\n\r\n switch (appConfig.globals().role) {\r\n case 0:\r\n case 1: //superadmin\r\n $state.go('app.accounts');\r\n break;\r\n case 2: //medico\r\n if ($rootScope.mobile)\r\n $state.go('app.records');\r\n else\r\n $state.go('app.appointments', { apptView : \"2\"});\r\n break;\r\n case 3: //recepcionista\r\n $state.go('app.appointments');\r\n break;\r\n case 4: //manejador de cuenta\r\n $state.go('app.accounts');\r\n break;\r\n } \r\n }, function (err) {\r\n $scope.error = err.handled.message;\r\n $scope.dataLoading = false;\r\n $scope.preLoginSuccess = false;\r\n appService.clear();\r\n });\r\n };\r\n\r\n //$scope.clear = function () {\r\n // $rootScope.globals = {};\r\n // appConfig.setGlobals({});\r\n // $http.defaults.headers.common.Authorization = 'Basic';\r\n //}\r\n\r\n appService.clear();\r\n saldoService.stop();\r\n saldoService.init();\r\n\r\n if ($stateParams.errorMsg)\r\n $scope.error = $stateParams.errorMsg;\r\n }\r\n\r\n function base64() {\r\n /* jshint ignore:start */\r\n\r\n var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\n\r\n return {\r\n encode: function (input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3 = \"\";\r\n var enc1, enc2, enc3, enc4 = \"\";\r\n var i = 0;\r\n\r\n do {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n\r\n output = output +\r\n keyStr.charAt(enc1) +\r\n keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) +\r\n keyStr.charAt(enc4);\r\n chr1 = chr2 = chr3 = \"\";\r\n enc1 = enc2 = enc3 = enc4 = \"\";\r\n } while (i < input.length);\r\n\r\n return output;\r\n },\r\n\r\n decode: function (input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3 = \"\";\r\n var enc1, enc2, enc3, enc4 = \"\";\r\n var i = 0;\r\n\r\n // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\r\n var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\r\n if (base64test.exec(input)) {\r\n window.alert(\"There were invalid base64 characters in the input text.\\n\" +\r\n \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\\n\" +\r\n \"Expect errors in decoding.\");\r\n }\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n\r\n do {\r\n enc1 = keyStr.indexOf(input.charAt(i++));\r\n enc2 = keyStr.indexOf(input.charAt(i++));\r\n enc3 = keyStr.indexOf(input.charAt(i++));\r\n enc4 = keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n chr1 = chr2 = chr3 = \"\";\r\n enc1 = enc2 = enc3 = enc4 = \"\";\r\n\r\n } while (i < input.length);\r\n\r\n return output;\r\n }\r\n };\r\n\r\n /* jshint ignore:end */\r\n }\r\n\r\n})();\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"patientsController\", function ($scope, $rootScope, $uibModalInstance, restService, dialogs, appConfig, $filter, data) {\r\n $scope.id = data.id;\r\n\r\n $scope.cancel = function () {\r\n if (angular.equals($scope.original, $scope.master))\r\n $uibModalInstance.dismiss(\"cancel\");\r\n else\r\n $uibModalInstance.close($scope.master);\r\n };\r\n\r\n $scope.ok = function () {\r\n $scope.cancel();\r\n };\r\n\r\n $scope.forms = {};\r\n\r\n $scope.grupos = [{ name: \"Particular\", id: 1 }, { name: \"Isssteson\", id: 2 }]; //restService.getGrupos();\r\n\r\n if ($scope.id === -1) {\r\n $scope.paciente = {\r\n patientId: -1, nss: \"\", gender: \"H\", bloodType: \"O+\", birthDate: new Date(), birthState: \"SR\", insuranceId: 1\r\n , accountId: data.accountId, enableHtmlContent: appConfig.globals().enableHtmlContent || false\r\n }\r\n\r\n } else {\r\n restService.patientGet(data.id, data.accountId).then(function (response) {\r\n $scope.paciente = angular.copy(response);\r\n $scope.paciente.birthDate = new Date(response.birthDate);\r\n if (response.spouseBirthDate) $scope.paciente.spouseBirthDate = new Date(response.spouseBirthDate);\r\n $scope.original = angular.copy($scope.paciente);\r\n $scope.master = angular.copy($scope.paciente);\r\n });\r\n }\r\n\r\n $scope.Save = function() {\r\n $scope.SavePaciente();\r\n };\r\n\r\n $scope.SavePaciente = function () {\r\n var accion = data.id === -1 ? 1 : 2;\r\n restService.patientSave($scope.paciente, accion).then(function (response) {\r\n if ($scope.id === -1) {\r\n $scope.id = response.patientId;\r\n data.id = response.patientId;\r\n }\r\n $scope.paciente.patientId = response;\r\n $scope.master = angular.copy($scope.paciente);\r\n dialogs.notify(\"Paciente\", \"Guardado!\");\r\n //$scope.ok();\r\n });\r\n };\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\nvar app = angular.module(\"app\");\r\napp.controller(\"patientsHealthRecordController\", function ($scope, $rootScope, appConfig, $uibModalInstance, restService, dialogs, data ) {\r\n\r\n $scope.apiEditor = {\r\n scope: $scope\r\n };\r\n\r\n $scope.editorConfig = {\r\n sanitize: false,\r\n fontAwesome: false,\r\n toolbar: [\r\n { name: 'basicStyling', items: ['bold', 'italic', 'underline', 'strikethrough', '-', 'leftAlign', 'centerAlign', 'rightAlign', 'blockJustify', '-'] },\r\n { name: 'paragraph', items: $rootScope.mobile ? [] : ['orderedList', 'unorderedList', 'outdent', 'indent', '-'] },\r\n { name: 'doers', items: $rootScope.mobile ? [] : ['removeFormatting', 'undo', 'redo', '-'] },\r\n { name: 'colors', items: ['fontColor', 'backgroundColor', '-'] },\r\n { name: 'links', items: $rootScope.mobile ? [] : ['image', 'hr', 'symbols', 'link', 'unlink', '-'] },\r\n { name: 'tools', items: ['print', '-'] },\r\n { name: 'styling', items: ['font', 'size'] },\r\n ]\r\n };\r\n $scope.forms = {};\r\n var withChanges = false;\r\n\r\n var closeForm = function () {\r\n if (withChanges)\r\n $uibModalInstance.close($scope.paciente);\r\n else\r\n $uibModalInstance.dismiss(\"close\");\r\n };\r\n\r\n $scope.close = function () {\r\n if ($scope.forms.myForm.$dirty) {\r\n dialogs.confirm(\"Historia Clinica\", \"Tiene cambios sin guardar, desea cerrar el formulario?\").result.then(function () {\r\n closeForm();\r\n });\r\n }\r\n else\r\n closeForm();\r\n };\r\n\r\n \r\n\r\n if ($scope.id === -1) {\r\n $uibModalInstance.dismiss();\r\n\r\n } else {\r\n restService.patientGetHealthRecord(data.patientId, appConfig.globals().accountId).then(function (result) {\r\n $scope.paciente = result;\r\n $scope.forms.myForm.$setPristine()\r\n }); \r\n }\r\n\r\n $scope.Save = function () {\r\n restService.patientSaveHealthRecord($scope.paciente).then(function (response) {\r\n withChanges = true;\r\n $scope.forms.myForm.$setPristine()\r\n appConfig.setEnableHtmlContent($scope.paciente.enableHtmlContent);\r\n dialogs.notify(\"\", \"Guardado!\");\r\n });\r\n };\r\n\r\n});\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"patientsListController\", function ($scope, $filter, restService, dialogs, appConfig, $uibModalInstance, data) {\r\n\r\n $scope.buscarNombre = data.search || \"\";\r\n var accountId = data.accountId || appConfig.globals().accountId;\r\n\r\n $scope.onTextClick = function ($event) {\r\n $event.target.select();\r\n };\r\n\r\n $scope.ok = function () {\r\n if ($scope.selectedItem)\r\n $uibModalInstance.close($scope.selectedItem);\r\n else\r\n $uibModalInstance.dismiss(\"cancel\");\r\n };\r\n\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss(\"cancel\");\r\n };\r\n\r\n $scope.selectItem = function (p) {\r\n $scope.selectedItem = p;\r\n };\r\n\r\n $scope.updateList = function () {\r\n if ($scope.buscarNombre === \"\")\r\n return;\r\n restService.patientsSearch(accountId, $scope.buscarNombre).then(function (resData) {\r\n $scope.pacientes = resData;\r\n if ($scope.pacientes.length === 0)\r\n $scope.selectedItem = null;\r\n });\r\n }\r\n\r\n $scope.delete = function () {\r\n if (!$scope.selectedItem)\r\n return;\r\n dialogs.confirm(\"Eliminar\", \"Seguro de que desea eliminar al paciente?\").result.then(function () {\r\n restService.patientDelete($scope.selectedItem.patientId, accountId).then(function () {\r\n $scope.loading = false;\r\n var index = $scope.pacientes.indexOf($scope.selectedItem);\r\n $scope.pacientes.splice(index, 1);\r\n $scope.selectedItem = null;\r\n dialogs.notify(\"Elimnar\", \"Eliminado!\");\r\n });\r\n });\r\n };\r\n \r\n $scope.openPaciente = function (op) {\r\n var id = -1;\r\n if (op !== 0)\r\n if (!$scope.selectedItem)\r\n return;\r\n else\r\n id = $scope.selectedItem.patientId;\r\n\r\n var sendData = {id : id, accountId: data.accountId};\r\n dialogs.create(\"app/pages/patients/patients.html\", \"patientsController\", sendData, {\r\n windowClass: 'pacientesModal', size: 'lg'\r\n }).result.then(function (sp) {\r\n if (sp.patientId !== -1 && id === -1) {\r\n var sitem = angular.copy(sp);\r\n $scope.selectItem(sitem);\r\n $scope.ok();\r\n }\r\n }); \r\n };\r\n\r\n function removeAccents(value) {\r\n return value\r\n .replace(/á/g, 'a')\r\n .replace(/é/g, 'e')\r\n .replace(/í/g, 'i')\r\n .replace(/ó/g, 'o')\r\n .replace(/ú/g, 'u');\r\n }\r\n\r\n $scope.filterNombre = function (item) {\r\n if (!$scope.buscarNombre) return true;\r\n\r\n var text = removeAccents(item.fullName.toLowerCase());\r\n var search = removeAccents($scope.buscarNombre.toLowerCase());\r\n return text.indexOf(search) > -1;\r\n }\r\n\r\n $scope.pacientesFiltrados = [];\r\n\r\n $scope.updateList();\r\n \r\n});\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"recordsController\", function ($scope, $stateParams, $filter, $anchorScroll, $window, restService, dialogs, $rootScope, $interval, appConfig, chartsService, $sce, appService) {\r\n\r\n $scope.paciente = { patientId: -1, age: 0, gender: 'M', bloodType: 'O+', importantNotes: '' };\r\n $scope.state = false;\r\n //$scope.mobile = true;\r\n $scope.lock = true;\r\n $scope.forms = {};\r\n $scope.dateOptions = {\r\n formatYear: 'yy',\r\n startingDay: 1\r\n };\r\n $scope.altInputFormats = [\"M!/d!/yyyy\"];\r\n\r\n $scope.toggleState = function () {\r\n $scope.state = !$scope.state;\r\n };\r\n\r\n $scope.apiEditor = {\r\n scope: $scope\r\n };\r\n\r\n $scope.apiEditorMotivo = {\r\n scope: $scope\r\n };\r\n\r\n $scope.apiEditorPlan = {\r\n scope: $scope\r\n };\r\n\r\n $scope.editorConfig = {\r\n sanitize: false,\r\n fontAwesome: false,\r\n toolbar: [\r\n { name: 'basicStyling', items: ['bold', 'italic', 'underline', '-', 'leftAlign', 'centerAlign', 'rightAlign', 'blockJustify', '-'] },\r\n { name: 'paragraph', items: $rootScope.mobile ? [] : ['orderedList', 'unorderedList', 'outdent', 'indent', '-'] },\r\n { name: 'doers', items: $rootScope.mobile ? [] : ['removeFormatting', 'undo', 'redo', '-'] },\r\n { name: 'colors', items: ['fontColor', 'backgroundColor', '-'] },\r\n { name: 'links', items: $rootScope.mobile ? [] : ['hr', 'symbols', '-'] },\r\n { name: 'tools', items: ['print', '-'] },\r\n { name: 'styling', items: ['font', 'size'] },\r\n ]\r\n };\r\n\r\n\r\n var noCuenta = appConfig.globals().accountId;\r\n var idMedico = appConfig.globals().userId;\r\n\r\n var calcularEdad = function (fini, ffin) { // pass in player.dateOfBirth\r\n var ageDifMs = ffin - new Date(fini);\r\n var ageDate = new Date(ageDifMs); // miliseconds from epoch\r\n return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n };\r\n\r\n $scope.openPacienteList = function () {\r\n var data = { search: \"\", accountId: noCuenta };\r\n dialogs.create(\"app/pages/patients/patientsList.html\", \"patientsListController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' }).result.then(function (selectedItem) {\r\n $scope.forms.myForm.$setPristine();\r\n $scope.loadPaciente(selectedItem.patientId);\r\n });\r\n };\r\n\r\n $scope.openConsultaView = function (rec) {\r\n var data = angular.copy(rec);\r\n dialogs.create(\"app/pages/records/recordsQuickView.html\", \"recordsQuickViewController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' }).result.then(function (choice) {\r\n\r\n switch (choice) {\r\n case 1: $scope.View(rec.recordId); break;\r\n case 2: $scope.New(rec); break;\r\n }\r\n\r\n });\r\n };\r\n\r\n $scope.loadPaciente = function (id) {\r\n restService.patientGet(id, noCuenta).then(function (response) {\r\n console.log(\"paciente \" + id);\r\n $scope.paciente = response;\r\n $scope.paciente.age = calcularEdad($scope.paciente.birthDate, Date.now());\r\n $scope.forms.myForm.$setPristine();\r\n $scope.New(); \r\n });\r\n\r\n restService.recordsGetAll(id).then(function (response) {\r\n $scope.historial = response;\r\n //initCharts();\r\n });\r\n\r\n $scope.loadArchivos(id);\r\n }\r\n\r\n $scope.loadArchivos = function (id) {\r\n restService.patientFilesGet(id).then(function (response) {\r\n $scope.archivos = response;\r\n angular.forEach($scope.archivos, function (a) {\r\n a.turl = $sce.trustAsResourceUrl(a.url);\r\n })\r\n });\r\n }\r\n\r\n $scope.openPaciente = function () {\r\n if ($scope.paciente.patientId <= 0)\r\n return;\r\n\r\n var sendData = { id: $scope.paciente.patientId, accountId: noCuenta };\r\n dialogs.create(\"app/pages/patients/patients.html\", \"patientsController\", sendData, {\r\n windowClass: 'pacientesModal', size: 'lg'\r\n }).result.then(function (selectedItem) {\r\n $scope.paciente = selectedItem;\r\n $scope.consulta.age = calcularEdad($scope.paciente.birthDate, $scope.consulta.date);\r\n });\r\n };\r\n\r\n $scope.openHistoriaClinica = function () {\r\n if ($scope.paciente.patientId <= 0)\r\n return;\r\n\r\n var data = { patientId: $scope.paciente.patientId };\r\n dialogs.create(\"app/pages/patients/patientsHealthRecord.html\", \"patientsHealthRecordController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' }).result.then(function (patientHR) {\r\n $scope.paciente.importantNotes = patientHR.importantNotes;\r\n });\r\n\r\n };\r\n\r\n $scope.View = function (idcon) {\r\n if ($scope.forms.myForm.$dirty) {\r\n dialogs.confirm(\"Captura\", \"Esta seguro de cancelar la captura?\").result.then(function (response) {\r\n $scope.loadConsulta(idcon);\r\n });\r\n } else {\r\n $scope.loadConsulta(idcon);\r\n }\r\n };\r\n\r\n $scope.loadConsulta = function (idcon) {\r\n $anchorScroll(\"toppage\");\r\n $scope.state = false;\r\n restService.recordsGet(idcon).then(function (response) {\r\n //Correccion de fechas\r\n console.log(response.somatometry);\r\n response.somatometry.fechaUltimaRegla = new Date(response.somatometry.fechaUltimaRegla);\r\n response.somatometry.fechaProbableParto = new Date(response.somatometry.fechaProbableParto);\r\n ///\r\n $scope.consulta = response;\r\n $scope.consulta.date = new Date($scope.consulta.date);\r\n $scope.consulta.age = calcularEdad($scope.paciente.birthDate, response.date);\r\n $scope.CalcIMC();\r\n $scope.forms.myForm.$setPristine();\r\n if ($scope.chart.myChart) $scope.chart.myChart.destroy();\r\n });\r\n };\r\n\r\n $scope.New = function (con) {\r\n if ($scope.forms.myForm.$dirty) {\r\n dialogs.confirm(\"Captura\", \"Esta seguro de cancelar la captura?, se perderán los cambios\").result.then(function (response) {\r\n $scope.createNew(con);\r\n });\r\n } else{\r\n if($scope.existsLocalCopy()){\r\n $scope.loadLocalCopy(); \r\n $scope.startLocalCopy();\r\n } \r\n else\r\n $scope.createNew(con); \r\n } \r\n }; \r\n\r\n $scope.existsLocalCopy = function() {\r\n var localCopy = appService.storage.get(\"localCopy\");\r\n if(localCopy && localCopy.recordId == -1 && localCopy.patientId == $scope.paciente.patientId)\r\n {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Carga la copia loca si es nueva y es el mismo paciente\r\n $scope.loadLocalCopy = function(){\r\n var localCopy = appService.storage.get(\"localCopy\"); \r\n localCopy.date = new Date(localCopy.date);\r\n localCopy.somatometry.fechaUltimaRegla = new Date(localCopy.somatometry.fechaUltimaRegla);\r\n localCopy.somatometry.fechaProbableParto = new Date(localCopy.somatometry.fechaProbableParto);\r\n $scope.consulta = angular.copy(localCopy);\r\n $scope.lock = false;\r\n $scope.forms.myForm.$setPristine();\r\n if ($scope.chart.myChart) $scope.chart.myChart.destroy();\r\n } \r\n\r\n // Inicia el grabado local de la consulta cada 5 minutos\r\n $scope.startLocalCopy = function () {\r\n if($scope.localCopyTimer) return;\r\n console.log(\"comieza timer copia local\");\r\n $scope.localCopyTimer = $interval(function () {\r\n console.log(\"timer tick\");\r\n if($scope.forms.myForm.$dirty && $scope.consulta.recordId == -1){\r\n appService.storage.set(\"localCopy\", $scope.consulta)\r\n console.log(\"consulta respaldada\");\r\n }\r\n }, 5000);\r\n }\r\n\r\n $scope.stopLocalCopy = function() {\r\n if($scope.localCopyTimer){\r\n $interval.cancel($scope.localCopyTimer);\r\n $scope.localCopyTimer = undefined;\r\n }\r\n }\r\n\r\n $scope.$on('$destroy', function() {\r\n // Make sure that the interval is destroyed too\r\n $scope.stopLocalCopy();\r\n });\r\n\r\n $scope.clearLocalCopy = function () {\r\n appService.storage.set(\"localCopy\", undefined); \r\n }\r\n\r\n $scope.createNew = function (con) { \r\n var c = \r\n {\r\n recordId: -1,\r\n accountId: noCuenta,\r\n medicId: idMedico,\r\n patientId: $scope.paciente.patientId,\r\n note: con ? con.note : \"\",\r\n motivo: con ? con.motivo : \"\",\r\n plan: con ? con.plan : \"\",\r\n insuranceId: $scope.paciente.insuranceId,\r\n date: new Date(),\r\n dxId: con ? con.dxId : -1,\r\n dxAccountId: con ? con.dxAccountId : 0,\r\n dxCode: con ? con.dxCode : \"\",\r\n dxName: con ? con.dxName : \"\",\r\n noteHtml: appConfig.preferences().enableHtmlContent || true,\r\n medicines: con ? con.medicines : [],\r\n labTests: [],\r\n xrayTests: [],\r\n diagnoses: con ? con.diagnoses : [],\r\n age: calcularEdad($scope.paciente.birthDate, Date.now()), \r\n somatometry: {\r\n embarazo: con ? con.somatometry.embarazo : undefined,\r\n pesoInicialEmbarazo: con ? con.somatometry.pesoInicialEmbarazo : undefined,\r\n fechaUltimaRegla: con ? new Date(con.somatometry.fechaUltimaRegla) : undefined \r\n },\r\n vitalSigns: {}\r\n };\r\n $scope.consulta = angular.copy(c); \r\n if (con) {\r\n $scope.CalcFPP()\r\n } \r\n //$scope.consulta = {}; \r\n $scope.lock = false;\r\n $scope.forms.myForm.$setPristine();\r\n if ($scope.chart.myChart) $scope.chart.myChart.destroy(); \r\n // Comenzar copia local al final de la creacion de la consulta nueva\r\n $scope.startLocalCopy(); \r\n };\r\n\r\n $scope.CalcIMC = function () {\r\n var talla = $scope.consulta.somatometry.height / 100.0;\r\n if (talla === 0) return;\r\n var imc = $scope.consulta.somatometry.weight / (talla * talla);\r\n $scope.consulta.somatometry.bmi = Math.round(imc * 100) / 100;\r\n }\r\n\r\n $scope.CalcFPP = function () {\r\n var fum = $scope.consulta.somatometry.fechaUltimaRegla;\r\n $scope.consulta.somatometry.fechaProbableParto = fum == \"\" ? undefined : moment(fum).add(280, 'days').toDate();\r\n $scope.consulta.somatometry.semanasGestacion = fum == \"\" ? undefined : moment($scope.consulta.date).diff(moment(fum), 'week');\r\n return $scope.consulta.somatometry.fechaProbableParto;\r\n }\r\n\r\n $scope.openCatalogo = function (cat, item, isNew) {\r\n var titulo = \"\";\r\n var templateUrl = \"app/pages/catalogs/catalogs.html\";\r\n switch (cat) {\r\n case 1: titulo = \"Diagnósticos\"; break;\r\n case 2: titulo = \"Medicamentos\"; break;\r\n case 3: titulo = \"Análisis\"; break;\r\n case 4: titulo = \"Rayos X\"; break;\r\n //case 5: titulo = \"Interconsulta\";\r\n // templateUrl = \"templates/interconsulta.html\"; break;\r\n case 6: titulo = \"Diagnósticos secundarios\"; break;\r\n }\r\n\r\n var data = { searchText: \"\", catalogue: cat, title: titulo };\r\n dialogs.create(templateUrl, \"catalogsController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' }).result.then(function (selectedItem) {\r\n if (!selectedItem) return;\r\n switch (cat) {\r\n case 1:\r\n $scope.consulta.dxId = selectedItem.id;\r\n $scope.consulta.dxName = selectedItem.name;\r\n $scope.consulta.dxCode = selectedItem.data;\r\n $scope.consulta.dxAccountId = selectedItem.accountId;\r\n break;\r\n case 5:\r\n break;\r\n default:\r\n item.itemId = selectedItem.id;\r\n item.itemName = selectedItem.name;\r\n item.accountId = selectedItem.accountId;\r\n if (cat === 2)\r\n item.medicineDosage = selectedItem.data;\r\n if (cat === 6) item.diagnosisCode = selectedItem.data;\r\n if (isNew) {\r\n if (cat === 2) $scope.consulta.medicines.push(item);\r\n if (cat === 3) $scope.consulta.labTests.push(item);\r\n if (cat === 4) $scope.consulta.xrayTests.push(item);\r\n if (cat === 6) $scope.consulta.diagnoses.push(item);\r\n }\r\n break;\r\n }\r\n });\r\n };\r\n\r\n $scope.addMed = function (cat) {\r\n var item = { id: -1, itemId: -1, recordId: $scope.consulta.recordId, itemName: \"\", medicineDosage: \"\", diagnosisCode: \"\", medicineIndications: \"\" };\r\n $scope.openCatalogo(cat, item, true);\r\n };\r\n\r\n $scope.delMed = function (cat, item) {\r\n var meditems = [];\r\n switch (cat) {\r\n case 2: meditems = $scope.consulta.medicines; break;\r\n case 3: meditems = $scope.consulta.labTests; break;\r\n case 4: meditems = $scope.consulta.xrayTests; break;\r\n case 6: meditems = $scope.consulta.diagnoses; break;\r\n default: return;\r\n }\r\n if (item.id !== -1) {\r\n dialogs.confirm(\"Eliminar\", \"Seguro que desea eliminar el registro?\").result.then(function () {\r\n restService.recordsItemDelete(cat, item.id).then(function (response) {\r\n var index = meditems.indexOf(item);\r\n meditems.splice(index, 1);\r\n });\r\n });\r\n } else {\r\n var index = meditems.indexOf(item);\r\n meditems.splice(index, 1);\r\n return;\r\n }\r\n };\r\n\r\n $scope.save = function () {\r\n if (!$scope.forms.myForm.$valid) {\r\n $scope.forms.myForm.submitted = true;\r\n return;\r\n }\r\n if ($scope.consulta.recordId === -1 && $stateParams.apptId > 0)\r\n $scope.consulta.apptId = $stateParams.apptId;\r\n\r\n var saveOption = $scope.consulta.recordId === -1 ? 1 : 2;\r\n restService.recordsSave($scope.consulta, saveOption).then(function (response) {\r\n dialogs.notify(\"Consulta\", \"Guardado!\");\r\n if ($scope.consulta.recordId === -1) {\r\n $scope.historial.splice(0, 0, angular.copy($scope.consulta));\r\n $stateParams.apptId = null;\r\n $scope.clearLocalCopy();\r\n }\r\n $scope.forms.myForm.$setPristine();\r\n appConfig.setEnableHtmlContent($scope.consulta.noteHtml); \r\n //$scope.openReportViewer(2);\r\n //se vuelve a cargar ya que hay ids nuevos en las listas de medicamentos\r\n $scope.View(response);\r\n });\r\n };\r\n\r\n $scope.getClickClass = function () {\r\n if ($scope.lock) return \"click-disabled\";\r\n else\r\n return \"click-enabled\";\r\n }\r\n\r\n $scope.files = [];\r\n\r\n $scope.resizeIf = function (file, width, height) {\r\n console.log(file);\r\n if ((file.size > 2000000 || width > 2000 || height > 2000) && file.type === \"image/jpeg\")\r\n return true;\r\n return false;\r\n }\r\n\r\n $scope.deleteFile = function (item) {\r\n dialogs.confirm(\"Eliminar\", \"Seguro que desea eliminar el archivo?\").result.then(function () {\r\n restService.patientFilesDelete(item.id).then(function (response) {\r\n var index = $scope.archivos.indexOf(item);\r\n $scope.archivos.splice(index, 1);\r\n dialogs.notify(\"Eliminar\", \"Archivo Eliminado!\");\r\n });\r\n });\r\n };\r\n\r\n $scope.filedesc = \"Archivo\";\r\n $scope.uploadFiles = function (files) {\r\n if (!files || files.length === 0 || !$scope.filedesc || $scope.filedesc == \"\") return;\r\n var data = { file: files, fileDescription: $scope.filedesc };\r\n restService.patientsFilesAdd($scope.paciente.patientId, data).then(function (response) {\r\n dialogs.notify(\"Archivo\", \"El archivo se subio correctamente\");\r\n response.turl = $sce.trustAsResourceUrl(response.url);\r\n $scope.archivos.splice(0, 0, response);\r\n });\r\n }\r\n\r\n $scope.thumbnail = function (url) {\r\n if (url.indexOf(\".pdf\") > -1)\r\n return \"assets/img/pdf-flat.png\";\r\n\r\n if (url.indexOf(\".doc\") > -1)\r\n return \"assets/img/word.png\";\r\n\r\n return url;\r\n }\r\n\r\n $scope.trustUrl = function (url) {\r\n return $sce.trustAsResourceUrl(url);\r\n }\r\n\r\n $scope.openReportViewer = function (reportId) {\r\n var data = { reportId: reportId, editable: false, reportData: { record: angular.copy($scope.consulta), patient: angular.copy($scope.paciente) } };\r\n dialogs.create(\"app/pages/reports/reportViewer.html\", \"reportViewerController\", data,\r\n { windowClass: 'pacientesModal', size: 'lg' });\r\n }\r\n \r\n\r\n $scope.setPaciente = function () {\r\n //pacientesService.setPT($scope.paciente);\r\n };\r\n\r\n\r\n $scope.chart = {};\r\n $scope.changeChart = function (chartId) {\r\n console.log(\"chart id:\" + chartId);\r\n if (chartId == null) return;\r\n $scope.chart.cfg = chartsService.change(chartId, angular.copy($scope.historial), angular.copy($scope.paciente), angular.copy($scope.consulta));\r\n var ctx = document.getElementById('chart').getContext('2d');\r\n if ($scope.chart.myChart) $scope.chart.myChart.destroy();\r\n $scope.chart.myChart = new Chart(ctx, $scope.chart.cfg);\r\n }\r\n\r\n $scope.InitPage = function () {\r\n $scope.cuenta = appService.session.usuario.cuenta;\r\n if ($stateParams.patientId > 0) {\r\n $scope.loadPaciente($stateParams.patientId);\r\n } else\r\n $scope.openPacienteList();\r\n } \r\n\r\n if ($rootScope.mobile) {\r\n restService.recordsGetLast().then(function (response) {\r\n if (response) {\r\n $scope.cuenta = appService.session.usuario.cuenta;\r\n $scope.loadPaciente(response.idPaciente);\r\n if (response.idCon !== -1)\r\n $scope.loadConsulta(response.idCon);\r\n } else\r\n $scope.InitPage();\r\n }, function () {\r\n $scope.InitPage();\r\n });\r\n } else {\r\n $scope.InitPage();\r\n }\r\n});\r\n\r\n\nangular.module('app').service(\"chartsService\", function (restService) {\r\n var charts = {\r\n imc: {\r\n cfg: {\r\n type: 'line',\r\n data: {\r\n labels: [],\r\n datasets: [{\r\n label: 'IMC',\r\n backgroundColor: Chart.helpers.color('blue').alpha(0.2).rgbString(),\r\n borderColor: 'blue',\r\n fill: false,\r\n spanGaps: true,\r\n borderWidth: 1,\r\n data: [],\r\n },\r\n {\r\n label: 'Desnutrición',\r\n backgroundColor: Chart.helpers.color('deeppink').alpha(0.2).rgbString(),\r\n borderColor: 'deeppink',\r\n fill: 'start',\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }, {\r\n label: 'Bajo',\r\n backgroundColor: Chart.helpers.color('blueviolet').alpha(0.2).rgbString(),\r\n borderColor: 'blueviolet',\r\n fill: 3,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Adecuado',\r\n backgroundColor: Chart.helpers.color('green').alpha(0.2).rgbString(),\r\n borderColor: 'green',\r\n fill: 4,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Sobrepeso',\r\n backgroundColor: Chart.helpers.color('yellow').alpha(0.2).rgbString(),\r\n borderColor: 'yellow',\r\n fill: 5,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Obesidad 1',\r\n backgroundColor: Chart.helpers.color('orange').alpha(0.2).rgbString(),\r\n borderColor: 'orange',\r\n fill: 6,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Obesidad 2',\r\n backgroundColor: Chart.helpers.color('orangered').alpha(0.2).rgbString(),\r\n borderColor: 'orangered',\r\n fill: 7,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Obesidad 3',\r\n backgroundColor: Chart.helpers.color('red').alpha(0.2).rgbString(),\r\n borderColor: 'red',\r\n fill: 'end',\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }]\r\n },\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: 'Grafica de IMC'\r\n },\r\n scales: {\r\n xAxes: [{\r\n type: 'time',\r\n time: {\r\n unit: 'month',\r\n displayFormats: {\r\n month: 'MMM YY'\r\n }\r\n },\r\n distribution: 'series',\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Fecha'\r\n },\r\n ticks: {\r\n major: {\r\n fontStyle: 'bold',\r\n fontColor: '#FF0000'\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'IMC'\r\n }\r\n }]\r\n }\r\n }\r\n },\r\n calcIMC: function (peso, long) {\r\n var talla = long / 100.0;\r\n if (talla === 0) return;\r\n var imc = peso / (talla * talla);\r\n return Math.round(imc * 100) / 100;\r\n },\r\n generate: function (data, con) {\r\n //console.log(data); \r\n if (!charts.imc.loaded) {\r\n for (var i = data.length - 1; i >= -1; i--) {\r\n if (i >= 0) {\r\n charts.imc.cfg.data.labels.push(moment(data[i].date));\r\n charts.imc.cfg.data.datasets[0].data.push(charts.imc.calcIMC(data[i].somatometry.weight, data[i].somatometry.height));\r\n } else {\r\n charts.imc.cfg.data.labels.push(new Date());\r\n charts.imc.cfg.data.datasets[0].data.push(undefined);\r\n }\r\n charts.imc.cfg.data.datasets[1].data.push(16.4);\r\n charts.imc.cfg.data.datasets[2].data.push(16.5);\r\n charts.imc.cfg.data.datasets[3].data.push(18.5);\r\n charts.imc.cfg.data.datasets[4].data.push(25);\r\n charts.imc.cfg.data.datasets[5].data.push(30);\r\n charts.imc.cfg.data.datasets[6].data.push(35);\r\n charts.imc.cfg.data.datasets[7].data.push(40);\r\n }\r\n charts.imc.loaded = true;\r\n }\r\n if (con.recordId < 1) {\r\n charts.imc.cfg.data.datasets[0].data[data.length] = con.somatometry.bmi;\r\n }\r\n return angular.copy(charts.imc.cfg);\r\n }\r\n },\r\n peso: {\r\n cfg: {\r\n type: 'line',\r\n data: {\r\n labels: [],\r\n datasets: [{\r\n label: 'Peso',\r\n backgroundColor: Chart.helpers.color('blue').alpha(0.2).rgbString(),\r\n borderColor: 'blue',\r\n fill: false,\r\n spanGaps: true,\r\n borderWidth: 1,\r\n data: [],\r\n },\r\n {\r\n label: 'Idel Lorentz',\r\n backgroundColor: Chart.helpers.color('blueviolet').alpha(0.2).rgbString(),\r\n borderColor: 'blueviolet',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: 'Ideal Broca (e-100)',\r\n backgroundColor: Chart.helpers.color('green').alpha(0.2).rgbString(),\r\n borderColor: 'green',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: 'Grafica de Peso'\r\n },\r\n scales: {\r\n xAxes: [{\r\n type: 'time',\r\n time: {\r\n unit: 'month',\r\n displayFormats: {\r\n month: 'MMM YY'\r\n }\r\n },\r\n distribution: 'series',\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Fecha'\r\n },\r\n ticks: {\r\n major: {\r\n fontStyle: 'bold',\r\n fontColor: '#FF0000'\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Peso (Kg)'\r\n }\r\n }]\r\n }\r\n }\r\n },\r\n calcLorentz: function (sexo, estatura) {\r\n var fact = sexo == 'M' ? 2.5 : 4;\r\n return (estatura - 100) - ((estatura - 150) / fact)\r\n },\r\n generate: function (data, pac, con) {\r\n charts.peso.cfg.data.labels = [];\r\n charts.peso.cfg.data.datasets[0].data = [];\r\n charts.peso.cfg.data.datasets[1].data = [];\r\n charts.peso.cfg.data.datasets[2].data = [];\r\n var lorentz = charts.peso.calcLorentz(pac.gender, con.somatometry.height);\r\n for (var i = data.length - 1; i >= -1; i--) {\r\n if (i >= 0) {\r\n charts.peso.cfg.data.labels.push(moment(data[i].date));\r\n charts.peso.cfg.data.datasets[0].data.push(data[i].somatometry.weight);\r\n }\r\n else {\r\n charts.peso.cfg.data.labels.push(new Date());\r\n charts.peso.cfg.data.datasets[0].data.push(undefined);\r\n }\r\n charts.peso.cfg.data.datasets[1].data.push(lorentz);\r\n charts.peso.cfg.data.datasets[2].data.push(con.somatometry.height - 100);\r\n };\r\n if (con.recordId < 1) {\r\n charts.peso.cfg.data.datasets[0].data[data.length] = con.somatometry.weight;\r\n }\r\n return angular.copy(charts.peso.cfg);\r\n }\r\n },\r\n // Granancia de peso en embarazo\r\n gpe: {\r\n cfg: {\r\n type: 'line',\r\n data: {\r\n labels: [],\r\n datasets: [{\r\n label: 'Ganancia',\r\n backgroundColor: Chart.helpers.color('blue').alpha(0.2).rgbString(),\r\n borderColor: 'blue',\r\n fill: false,\r\n spanGaps: true,\r\n borderWidth: 1,\r\n data: [],\r\n },\r\n {\r\n label: 'Min',\r\n backgroundColor: Chart.helpers.color('blueviolet').alpha(0.1).rgbString(),\r\n borderColor: 'blueviolet',\r\n fill: 2,\r\n lineTension: 0,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }, {\r\n label: 'Max',\r\n backgroundColor: Chart.helpers.color('blueviolet').alpha(0.1).rgbString(),\r\n borderColor: 'blueviolet',\r\n lineTension: 0,\r\n fill: 1,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }]\r\n },\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: 'Grafica de ganancia de peso en embarazo según IMC Pre-Embarazo'\r\n },\r\n scales: {\r\n xAxes: [{\r\n distribution: 'series',\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Semanas de Gestación'\r\n },\r\n ticks: {\r\n major: {\r\n fontStyle: 'bold',\r\n fontColor: '#FF0000'\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Ganancia'\r\n }\r\n }]\r\n }\r\n }\r\n },\r\n fillData: function (data, con) {\r\n var imc = charts.imc.calcIMC(con.somatometry.pesoInicialEmbarazo, con.somatometry.height);\r\n var min = \"y1\";\r\n var max = \"y2\";\r\n if (imc >= 18.5) {\r\n min = \"y3\"; max = \"y4\";\r\n }\r\n if (imc >= 25) {\r\n min = \"y5\"; max = \"y6\";\r\n }\r\n if (imc >= 30) {\r\n min = \"y7\"; max = \"y8\";\r\n }\r\n /////\r\n charts.gpe.cfg.data.labels = [];\r\n charts.gpe.cfg.data.datasets[0].data = [];\r\n charts.gpe.cfg.data.datasets[1].data = [];\r\n charts.gpe.cfg.data.datasets[2].data = [];\r\n var t = charts.gpe.data;\r\n for (var i = 0; i < t.length; i++) {\r\n charts.gpe.cfg.data.labels.push(t[i].x);\r\n charts.gpe.cfg.data.datasets[0].data.push(undefined);\r\n charts.gpe.cfg.data.datasets[1].data.push((t[i])[min]);\r\n charts.gpe.cfg.data.datasets[2].data.push((t[i])[max]);\r\n }\r\n //////\r\n var len = data.length < 10 ? data.length : 10;\r\n for (var i = 0; i < len; i++) {\r\n if (data[i].somatometry.embarazo && data[i].somatometry.semanasGestacion > 0) {\r\n var index = charts.gpe.cfg.data.labels.indexOf(data[i].somatometry.semanasGestacion);\r\n if (index !== -1)\r\n charts.gpe.cfg.data.datasets[0].data[index] = data[i].somatometry.weight - con.somatometry.pesoInicialEmbarazo\r\n }\r\n }\r\n if (con.recordId < 1) {\r\n var index = charts.gpe.cfg.data.labels.indexOf(con.somatometry.semanasGestacion);\r\n if (index !== -1)\r\n charts.gpe.cfg.data.datasets[0].data[index] = con.somatometry.weight - con.somatometry.pesoInicialEmbarazo\r\n }\r\n ////\r\n return angular.copy(charts.gpe.cfg);\r\n\r\n },\r\n generate: function (data, con) {\r\n if (!charts.gpe.loaded) {\r\n restService.chartsGet({ grafId: 3 }).then(function (res) {\r\n charts.gpe.data = res.table;\r\n charts.gpe.loaded = true;\r\n return charts.gpe.fillData(data, con);\r\n });\r\n }\r\n else {\r\n return charts.gpe.fillData(data, con);\r\n }\r\n }\r\n },\r\n\r\n // Percentil de crecimiento fetal\r\n pcf: {\r\n cfg: {\r\n type: 'line',\r\n data: {\r\n labels: [],\r\n datasets: [{\r\n label: 'Peso',\r\n backgroundColor: Chart.helpers.color('blue').alpha(0.2).rgbString(),\r\n borderColor: 'blue',\r\n fill: false,\r\n spanGaps: true,\r\n borderWidth: 1,\r\n data: [],\r\n },\r\n {\r\n label: '5th',\r\n backgroundColor: Chart.helpers.color('red').alpha(0.1).rgbString(),\r\n borderColor: 'red',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }, {\r\n label: '25th',\r\n backgroundColor: Chart.helpers.color('orange').alpha(0.1).rgbString(),\r\n borderColor: 'orange',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: '50th',\r\n backgroundColor: Chart.helpers.color('green').alpha(0.1).rgbString(),\r\n borderColor: 'green',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }, {\r\n label: '75th',\r\n backgroundColor: Chart.helpers.color('orange').alpha(0.1).rgbString(),\r\n borderColor: 'orange',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n },\r\n {\r\n label: '95th',\r\n backgroundColor: Chart.helpers.color('red').alpha(0.1).rgbString(),\r\n borderColor: 'red',\r\n fill: false,\r\n pointRadius: 0,\r\n borderWidth: 1,\r\n data: []\r\n }]\r\n },\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: 'Grafica de percentil de crecimiento fetal OMS'\r\n },\r\n scales: {\r\n xAxes: [{\r\n distribution: 'series',\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Semanas de Gestación'\r\n },\r\n ticks: {\r\n major: {\r\n fontStyle: 'bold',\r\n fontColor: '#FF0000'\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Peso gr'\r\n }\r\n }]\r\n }\r\n }\r\n },\r\n fillData: function (data,con) {\r\n if (con.recordId < 1) {\r\n var index = charts.pcf.cfg.data.labels.indexOf(con.somatometry.semanasGestacion);\r\n if (index !== -1)\r\n charts.pcf.cfg.data.datasets[0].data[index] = con.somatometry.pesoFetal*1000;\r\n }\r\n return angular.copy(charts.pcf.cfg);\r\n },\r\n generate: function (data, con) {\r\n if (!charts.pcf.loaded) {\r\n restService.chartsGet({ grafId: 4 }).then(function (res) {\r\n var t = charts.pcf.data = res.table;\r\n for (var i = 0; i < t.length; i++) {\r\n charts.pcf.cfg.data.labels.push(t[i].x);\r\n charts.pcf.cfg.data.datasets[0].data.push(undefined);\r\n charts.pcf.cfg.data.datasets[1].data.push(t[i].y2);\r\n charts.pcf.cfg.data.datasets[2].data.push(t[i].y4);\r\n charts.pcf.cfg.data.datasets[3].data.push(t[i].y5);\r\n charts.pcf.cfg.data.datasets[4].data.push(t[i].y6);\r\n charts.pcf.cfg.data.datasets[5].data.push(t[i].y8);\r\n }\r\n var len = data.length < 10 ? data.length : 10;\r\n for (var i = 0; i < len; i++) {\r\n if (data[i].somatometry.embarazo && data[i].somatometry.semanasGestacion > 13) {\r\n var index = charts.pcf.cfg.data.labels.indexOf(data[i].somatometry.semanasGestacion);\r\n if (index !== -1)\r\n charts.pcf.cfg.data.datasets[0].data[index] = data[i].somatometry.pesoFetal *1000;\r\n }\r\n }\r\n charts.pcf.loaded = true;\r\n return charts.pcf.fillData(data, con);\r\n });\r\n }\r\n else\r\n return charts.pcf.fillData(data, con);\r\n }\r\n }\r\n\r\n }\r\n\r\n var serv = {\r\n change: function (chartId, historial, paciente, consulta) {\r\n switch (chartId) {\r\n //peso\r\n case \"1\": return charts.peso.generate(historial, paciente, consulta);\r\n case \"2\": return charts.imc.generate(historial, consulta);\r\n case \"3\": return charts.gpe.generate(historial, consulta);\r\n case \"4\": return charts.pcf.generate(historial, consulta);\r\n }\r\n }\r\n };\r\n\r\n return serv;\r\n});\nvar app = angular.module(\"app\");\r\napp.controller(\"recordsQuickViewController\", function ($scope, $uibModalInstance, $sce, data,appService) {\r\n\r\n $scope.cv = angular.copy(data);\r\n $scope.cv.note = $sce.trustAsHtml($scope.cv.note);\r\n $scope.cv.motivo = $sce.trustAsHtml($scope.cv.motivo);\r\n $scope.cv.plan = $sce.trustAsHtml($scope.cv.plan);\r\n \r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss(\"cancel\");\r\n };\r\n\r\n $scope.edit = function () {\r\n $uibModalInstance.close(1);\r\n };\r\n\r\n $scope.new = function(){\r\n $uibModalInstance.close(2);\r\n }\r\n\r\n $scope.apiEditor = {\r\n scope: $scope\r\n };\r\n\r\n $scope.editorConfig = {\r\n sanitize: false,\r\n fontAwesome: false,\r\n toolbar: [\r\n\t\t\t\r\n ]\r\n };\r\n\r\n $scope.cuenta = appService.session.usuario.cuenta;\r\n\r\n});\nvar app = angular.module(\"app\");\r\n\r\napp.controller(\"reportViewerController\", function ($scope, $rootScope,$filter, $uibModalInstance, dialogs,restService, appConfig, $q, data) {\r\n\r\n $scope.apiEditor = {\r\n scope: $scope\r\n };\r\n\r\n $scope.editorConfig = {\r\n sanitize: false,\r\n fontAwesome: false,\r\n toolbar: [\r\n\t\t\t{ name: 'basicStyling', items: ['bold', 'italic', 'underline', 'strikethrough', '-', 'leftAlign', 'centerAlign', 'rightAlign', 'blockJustify', '-'] },\r\n\t\t\t{ name: 'paragraph', items: $rootScope.mobile ? [] : ['orderedList', 'unorderedList', 'outdent', 'indent', '-'] },\r\n\t\t\t{ name: 'doers', items: $rootScope.mobile ? [] : ['removeFormatting', 'undo', 'redo', '-'] },\r\n\t\t\t{ name: 'colors', items: ['fontColor', 'backgroundColor', '-'] },\r\n\t\t\t{ name: 'links', items: $rootScope.mobile ? [] : ['image', 'hr', 'symbols', 'link', 'unlink', '-'] },\r\n\t\t\t{ name: 'tools', items: ['print', '-'] },\r\n\t\t\t{ name: 'styling', items: ['font', 'size'] },\r\n ]\r\n };\r\n\r\n //$scope.contenido = data.content;\r\n $scope.edicion = data.editable;\r\n\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss(\"cancel\");\r\n };\r\n\r\n $scope.ok = function () {\r\n $scope.cancel();\r\n };\r\n\r\n $scope.forms = {};\r\n\r\n var getReportTemplate = function (reportId) {\r\n\r\n var res = { reportId: reportId }; \r\n var templates = [];\r\n var reportsTemplates = appConfig.reportsTemplates();\r\n var deferred = $q.defer();\r\n var cache = false;\r\n switch (data.reportId) {\r\n case 2:\r\n if (reportsTemplates.medicines) {\r\n templates.push(reportsTemplates.medicines);\r\n templates.push(reportsTemplates.medicinesItems);\r\n cache = true;\r\n } \r\n break;\r\n case 3:\r\n case 4:\r\n if (reportsTemplates.labTests) {\r\n templates.push(reportsTemplates.labTests);\r\n templates.push(reportsTemplates.labTestsItems);\r\n cache = true;\r\n }\r\n break; \r\n case 0:\r\n if (reportsTemplates.note) {\r\n templates.push(reportsTemplates.note); \r\n cache = true;\r\n }\r\n break; \r\n default:\r\n deferred.reject();\r\n }\r\n\r\n if (cache){\r\n res.templates = templates;\r\n deferred.resolve(res);\r\n }\r\n else\r\n {\r\n restService.reportsTemplateGet(reportId).then(function (response) {\r\n res.templates = response;\r\n deferred.resolve(res);\r\n });\r\n }\r\n return deferred.promise\r\n\r\n }\r\n \r\n var fillRecordItems = function (reportTemplate, itemTemplate, itemsArray)\r\n {\r\n if (reportTemplate.length === 0 || itemTemplate.length===0 || itemsArray.length ===0 ) return reportTemplate;\r\n var items = \"\";\r\n angular.forEach(itemsArray, function (i, k) {\r\n items += itemTemplate.replace(\"[itemText]\", i.itemName).replace(\"[indicaciones]\", i.medicineIndications).replace(\"[presentacion]\", i.medicineDosage);\r\n });\r\n return reportTemplate.replace(\"[itemsTemplate]\", items);\r\n }\r\n\r\n var fillPatient = function (reportTemplate, patient)\r\n {\r\n if (reportTemplate.length === 0 || !patient) return reportTemplate;\r\n return reportTemplate\r\n .replace(\"[fullName]\", patient.fullName)\r\n .replace(\"[pAddress]\", patient.address); \r\n\r\n }\r\n\r\n var fillRecord = function (reportTemplate, record) {\r\n if (reportTemplate.length === 0 || !record) return reportTemplate;\r\n\r\n var note = record.note;\r\n if (!record.noteHtml)\r\n note = note.replace(\"\\r\\n\", \"
      \").replace(\"\\n\", \"
      \").replace(\"\\r\", \"
      \");\r\n\r\n return reportTemplate\r\n .replace(\"[notaTemplate]\", note)\r\n .replace(\"[shortDate]\", $filter('date')(record.date, \"dd/MM/yyyy\"))\r\n .replace(\"[longAge]\", record.age)\r\n .replace(\"[peso]\", record.somatometry.weight)\r\n .replace(\"[pDistolica]\", record.vitalSigns.diastolicBloodPressure)\r\n .replace(\"[pSistolica]\", record.vitalSigns.systolicBloodPressure)\r\n }\r\n \r\n var fillReport = function (templates) {\r\n var reportTemplate = templates.templates[0];\r\n var itemTemplate = templates.templates.length == 2 ? templates.templates[1] : \"\";\r\n var itemsArray = [];\r\n switch (templates.reportId) { \r\n case 2: itemsArray = data.reportData.record.medicines; break; \r\n case 3: itemsArray = data.reportData.record.labTests; break; \r\n case 4: itemsArray = data.reportData.record.xrayTests; break; \r\n }\r\n\r\n $scope.contenido = fillRecordItems(fillRecord(fillPatient(reportTemplate, data.reportData.patient), data.reportData.record), itemTemplate, itemsArray);\r\n };\r\n\r\n getReportTemplate(data.reportId).then(fillReport); \r\n \r\n\r\n});\nangular.module('app').run(['$templateCache', function($templateCache) {$templateCache.put('app/layout/layout.html','');\n$templateCache.put('app/pages/account/nuevo.html','

      Actualizaciones de Sistema

      Actualizaciones de Sistema

      • 12 de Noviembre 2019
      • Perfil -> Estado de Cuenta. Revise su estado de cuenta
      • Agenda. Agregado campo de Tipo Cita: Consulta, Primera Vez, Urgencia, etc.
      • Historial de consutas siempre visible
      • Historial con nuevo dise\\xF1o
      • Copie autom\\xE1ticamente NOTAS y DIAGNOSTICOS desde el historial con el bot\\xF3n \"Seguimiento\"
      • Nuevas NOTAS para MOTIVO, ANALISIS y PLAN para un SOAP completo
      • Datos Pedi\\xE1tricos: Perfimetro Cef\\xE1lico y Per\\xEDmetro Branquial
      • Datos Ginecol\\xF3gicos: Embarazo, Peso Pre-Embarazo, FUM, FPP, Semana de Gestaci\\xF3n y Peso Fetal
      • Gr\\xE1ficas: Peso Ideal
      • Gr\\xE1ficas: IMC
      • Gr\\xE1ficas: Ganancia de Peso en Embarazo
      • GR\\xE1ficas: Percentil de Crecimiento Fetal
      • Archivos: Carga de Archivos Pdf y Doc
      • Archivos: Carga de Videos
      • PROXIMOS CAMBIOS
      • Graficas: Percentiles OMS para Ni\\xF1os
      ');\n$templateCache.put('app/pages/account/profile.html','
      Campo requerido
      Campo requerido
      Campo requerido
      Las contrase\\xF1as deben coincidir
      ');\n$templateCache.put('app/pages/account/saldo.html','

      Estado de Cuenta

      Estatus

      {{vm.saldo.estatusNombre}}

      No. Cuenta

      {{vm.saldo.noCuenta}}

      Saldo

      {{vm.saldo.saldo | currency : \\'$\\' : 2}}

      Fecha Vencimiento

      {{vm.saldo.fechaVencimiento | date : \\'dd/MM/yyyy\\'}}

      {{vm.saldo.fechaSaldoVencido| date: \\'dd/MM/yyyy\\'}}

      Prox. Corte

      {{vm.saldo.fechaCorte| date:\\'dd/MM/yyyy\\'}}

      DATOS DE DEPOSITO

      Referencia: {{vm.saldo.noCuenta}}

      Correo: fdo.aragon@gmail.com Cel/WhatsApp (662) 123 80 14

      ');\n$templateCache.put('app/pages/appointments/appointments.html','

      {{selectedMedico.nombreMedico}}

      {{cita.statusName}}

      {{cita.time | date:\\'hh:mm a\\'}} {{cita.time | date:\\'dd MMMM yyyy\\'}}

      1\" id=\"nombre\" name=\"nombre\" class=\"form-control\" ng-model=\"cita.name\" placeholder=\"Nombre\" required=\"\">
      Campo requerido
      1\" id=\"apellidop\" name=\"apellidop\" class=\"form-control\" ng-class=\"{\\'input-lg\\': mobile}\" ng-model=\"cita.lastName\" required=\"\">
      Campo requerido
      1\" id=\"apellidom\" class=\"form-control\" ng-class=\"{\\'input-lg\\': mobile}\" ng-model=\"cita.motherLastName\">
      =2\">
      Debe ser correo v\\xE1lido
      Debe ser un n\\xFAmero de celular v\\xE1lido de 10 digitos
      2))\">

      2 && cita.status<5 && !forms.myForm.$dirty && globals().role<3\">Consulta No se encontro el paciente en la base de datos. Seleccione uno antes de empezar la consulta
      2 && cita.status!=5 && !citaDisponible\">
      0\">

      {{mensaje.titulo}}{{mensaje.contenido}}

      ');\n$templateCache.put('app/pages/awaydates/awaydates.html','

      {{selectedMedico.nombreMedico}} {{selectedMedico.noCuenta}}

      Campo requerido
      Campo requerido
      Del {{fec.dateStart | date : \\'dd MMMM yyyy\\'}} Al {{fec.dateEnd | date : \\'dd MMMM yyyy\\'}}
      Motivo: {{fec.reason}}
      Eliminar
      ');\n$templateCache.put('app/pages/catalogs/catalogs.html','

      {{titulo}}

      No se encontraron coincidencias

      Se encontraron mas de 20 coincidencias, favor de refinar la b\\xFAsqueda

      ');\n$templateCache.put('app/pages/patients/patients.html','

       Paciente

      Campo requerido
      Campo requerido
      Campo requerido
      Debe ser un n\\xFAmero de celular v\\xE1lido de 10 digitos
      Debe ser un n\\xFAmero telef\\xF3nico v\\xE1lido de 10 digitos
      Debe ser correo v\\xE1lido
      Fecha invalida!
      ');\n$templateCache.put('app/pages/patients/patientsHealthRecord.html','

      Historia Clinica

      Editor Tipo Microsoft Word
      ');\n$templateCache.put('app/pages/patients/patientsList.html','

      Pacientes

      No se encontraron coincidencias

      Se encontraron mas de 20 coincidencias, favor de refinar la b\\xFAsqueda

      ');\n$templateCache.put('app/pages/records/records.html','
      0\">  Notas( Edad: {{paciente.fullAge}} - Sexo: {{paciente.gender}} - Tipo Sangu\\xEDneo: {{paciente.bloodType}} )


      Somatometr\\xEDa y Signos Vitales
      Datos Pedi\\xE1tricos
      Datos Ob/Gyn

      Embarazo

      Gr\\xE1ficas

      Antes de visualizar las gr\\xE1ficas, complete los datos de la somatometr\\xEDa, signos, etc.


      Editor Tipo Microsoft Word


      Receta {{consulta.medicines.length}}Laboratorio {{consulta.labTests.length}}Estudios {{consulta.xrayTests.length}}

      0\">

      Archivos del paciente

      Archivos soportados: Imagenes (jpg, jpeg), Documentos (pdf, doc) y Videos (mp4, mov)
      Ulilice el siguiente enlace para convertir videos al formato requerido Convertidor de Video Online
      Tama\\xF1o m\\xE1ximo para documentos y videos es de 20MB

      Archivo Inv\\xE1lido - Archivos permitidos: jpg \\xF3 jpeg - Tama\\xF1o m\\xE1ximo: 2MB | Archivo seleccionado {{invalidFile.type}} - {{(invalidFile.size/1000000) | number: 2}}MB
      Campo requerido
      FechaDescripci\\xF3n
      {{a.date | date: \\'dd/MM/yyyy\\'}}{{a.description}} -1) || (a.url.indexOf(\\'.mp4\\') > -1)\">
      ');\n$templateCache.put('app/pages/records/recordsQuickView.html','

      Consulta

      {{cv.date | date : \\'EEEE dd/MM/yyyy h:mm a\\' | capitalize}}


      Diagn\\xF3stico(s)

      • {{cv.dxName}}
      • {{d.itemName}}

      Motivo


      An\\xE1lisis


      Plan


      ');\n$templateCache.put('app/pages/reports/reportViewer.html','

      Reporte

      ');\n$templateCache.put('app/pages/login/login.html','
      {{error}}
      Nombre de usuario es requerido
      Contrase\\xF1a es requerida
      ');}]);"],"sourceRoot":"/source/"}