{"version":3,"sources":["bootstrap.js","custom.jquery.validation.js","custom.jquery.validation.unobtrusive.js","jquery.globalize.js","custom.jquery.validation.unobtrusive.ajax.js","jquery.blockui.js","kendo.culture.js","errorHandling.js","fontawesome-iconpicker.js","localize.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","bootstrap","Popper","this","_interopNamespace","e","__esModule","n","Object","create","k","d","getOwnPropertyDescriptor","defineProperty","get","enumerable","default","freeze","Popper__namespace","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","handlers","previousFn","replace","domElements","querySelectorAll","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","preventDefault","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","static","getInstance","VERSION","Error","enableDismissTrigger","component","method","clickEvent","tagName","closest","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE$5","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft","SelectorEngine","find","concat","Element","prototype","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","NAME$b","Default$a","interval","keyboard","slide","pause","wrap","touch","DefaultType$a","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","EVENT_SLID","CLASS_NAME_ACTIVE$2","SELECTOR_ACTIVE_ITEM","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","Default","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","itemImg","add","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","NAME$a","DATA_KEY$9","Default$9","parent","DefaultType$9","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","SELECTOR_DATA_TOGGLE$4","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activesData","actives","container","tempActiveData","elemActive","dimension","_getDimension","style","scrollSize","triggerArrayLength","selected","triggerArray","isOpen","NAME$9","ESCAPE_KEY$2","SPACE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","CLASS_NAME_SHOW$6","SELECTOR_DATA_TOGGLE$3","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default$8","boundary","reference","display","popperConfig","autoClose","DefaultType$8","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","DefaultType","getParentFromElement","_createPopper","focus","_completeHide","destroy","update","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","toggles","context","composedPath","isMenuTarget","isActive","stopPropagation","getToggleButton","clearMenus","dataApiKeydownHandler","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","overflow","styleProp","scrollbarWidth","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","Default$7","className","rootElement","clickCallback","DefaultType$7","NAME$8","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","Default$6","trapElement","autofocus","DefaultType$6","EVENT_KEY$7","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","NAME$6","EVENT_KEY$6","ESCAPE_KEY$1","Default$5","DefaultType$5","EVENT_HIDDEN$3","EVENT_SHOW$3","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","scrollTop","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","allReadyOpen","NAME$5","Default$4","scroll","DefaultType$4","CLASS_NAME_SHOW$3","OPEN_SELECTOR","EVENT_HIDDEN$2","Offcanvas","visibility","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","regExp","attributeRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","NAME$4","DISALLOWED_ATTRIBUTES","DefaultType$3","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","Event$2","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE$2","CLASS_NAME_SHOW$2","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","_disposePopper","isWithContent","shadowRoot","isInTheDom","ownerDocument","getTitle","tipId","prefix","floor","random","getElementById","getUID","attachment","_getAttachment","_addAttachmentClass","_resolvePossibleFunction","prevHoverState","_cleanTipClass","setContent","_sanitizeAndSetContent","content","templateElement","setElementContent","textContent","updateAttachment","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","_getBasicClassPrefix","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","basicClassPrefixRegex","tabClass","token","tClass","state","popper","Default$2","DefaultType$2","Event$1","Popover","_getContent","NAME$2","EVENT_KEY$2","Default$1","DefaultType$1","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$1","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","listGroup","navItem","node","spy","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","complete","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting","extend","validate","validator","attr","settings","onsubmit","submitButton","hasClass","cancelSubmit","handle","result","submitHandler","formSubmitted","appendTo","currentForm","debug","form","pendingRequest","focusInvalid","warn","valid","errorList","is","rules","command","argument","staticRules","existingRules","param","filtered","isContentEditable","normalizeRule","messages","normalizeRules","classRules","attributeRules","dataRules","required","remote","str","expr","pseudos","blank","filled","unchecked","prop","defaults","init","format","source","params","arguments","makeArray","unshift","groups","errorClass","pendingClass","validClass","errorElement","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","lastActive","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","optional","onkeyup","which","elementValue","inArray","keyCode","invalid","onclick","highlight","findByName","addClass","removeClass","setDefaults","email","url","date","dateISO","number","digits","equalTo","maxlength","minlength","rangelength","range","step","autoCreateRanges","labelContainer","errorContext","containers","valueCache","pending","delegate","eventType","invalidHandler","checkForm","errorMap","triggerHandler","showErrors","prepareForm","currentElements","check","rs","group","cleanElement","clean","checkElement","validationTargetFor","v","prepareElement","testgroup","numberOfInvalids","toHide","errors","message","successList","grep","defaultShowErrors","resetForm","hideErrors","removeData","removeAttr","resetElements","objectLength","count","not","text","addWrapper","findLastActive","rulesCache","resetInternals","toShow","idx","$element","validity","badInput","substr","lastIndexOf","rule","normalizer","rulesCount","dependencyMismatch","parameters","methods","formatAndAdd","log","id","customDataMessage","substring","customMessage","m","String","findDefined","defaultMessage","theregex","toToggle","wrapper","showLabel","success","validElements","invalidElements","place","errorID","elementID","idOrName","describedBy","errorPlacement","insertAfter","escapeCssMeta","describer","string","getLength","depend","dependTypes","boolean","function","startRequest","stopRequest","submit","previousValue","old","classRuleSettings","creditcard","addClassRules","classes","normalizeAttributeRule","isNaN","depends","keepRule","parameter","parts","isArray","transformed","addMethod","Date","decimals","errorMessage","re","decimalPlaces","num","toInt","round","pow","optionDataString","originalMessage","ajax","mode","port","dataType","response","pendingRequests","ajaxPrefilter","_","xhr","abort","ajaxSettings","unobtrusive","adapters","$jQval","data_validation","setValidationValues","ruleName","escapeAttributeValue","getModelPrefix","fieldName","appendModelPrefix","onError","inputElement","replaceAttrValue","parseJSON","empty","onErrors","onSuccess","onReset","$form","validationInfo","onResetProxy","proxy","defaultOptions","execInContext","func","isFunction","attachValidation","parseElement","skipAttach","valInfo","paramValues","adapt","__dummy__","parse","$selector","$forms","addBack","info","adapterName","addBool","addMinMax","minRuleName","maxRuleName","minMaxRuleName","minAttribute","maxAttribute","addSingleVal","exec","nonalphamin","extension","fullOtherName","other","splitAndTrim","additionalfields","paramName","field","regex","extensions","Globalize","regexHex","regexInfinity","regexParseFloat","regexTrim","arrayIndexOf","endsWith","isObject","truncate","zeroPad","appendPreOrPostMatch","expandFormat","formatDate","formatNumber","getTokenRegExp","getEra","getEraYear","parseExact","parseNegativePattern","expandNumber","expandYear","getDayIndex","getMonthIndex","getParseRegExp","outOfRange","toUpper","toUpperArray","cultureSelector","cultures","englishName","nativeName","language","numberFormat","pattern","groupSizes","NaN","negativeInfinity","positiveInfinity","percent","symbol","currency","calendars","standard","firstDay","days","names","namesAbbr","namesShort","months","AM","PM","eras","twoDigitYearMax","patterns","D","t","T","f","F","M","Y","S","calendar","en","array","src","copy","copyIsArray","clone","deep","l","preMatch","strings","quoteCount","escaped","il","c","cal","culture","ret","convert","eraDate","getTime","era","setFullYear","toLocaleString","sortable","hour","foundDay","checkedDay","converted","zeros","dayPartRegExp","tokenRegExp","padZeros","r","getPart","part","getFullYear","getMonth","getDate","fromGregorian","lastIndex","ar","current","clength","getDay","monthsGenitive","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","precision","formatInfo","curSize","curGroupIndex","factor","rounded","isFinite","numberString","right","exponent","stringIndex","sep","Infinity","nf","patternParts","ticks","year","now","curr","abbr","upperDays","_upperDays","monthsGen","upperMonths","_upperMonths","upperMonthsGen","_upperMonthsGen","_parseRegExp","reFormat","expFormat","regexp","parseRegExp","low","high","arr","results","parseInfo","hourOffset","month","weekDay","sec","msec","tzMinOffset","pmHour","j","jl","matchGroup","matchInt","offsets","minOffset","eraName","defaultYear","toGregorian","setHours","adjustedMin","negativePattern","neg","pos","findClosestCulture","localize","radix","addCultureInfo","cultureName","baseCultureName","base","isNew","lang","prioritized","pri","cultureKey","parseDate","formats","signInfo","sign","intAndFraction","exponentPos","integer","fraction","decSep","decimalPos","groupSep","altGroupSep","expSignInfo","isNumeric","data_click","data_target","getFunction","argNames","shift","Function","isMethodProxySafe","asyncOnBeforeSend","setRequestHeader","asyncOnSuccess","contentType","prepend","replaceWith","asyncRequest","confirm","loading","duration","cache","beforeSend","status","getResponseHeader","formdata","FormData","file","files","processData","href","pageX","pageY","clickInfo","clickTarget","isCancel","serializeArray","centerElement","css","setup","_fadeIn","fadeIn","noOp","msie","userAgent","ie6","setExpr","documentMode","setExpression","blockUI","opts","install","unblockUI","growlUI","timeout","onClose","$m","callBlock","fadeOut","centerY","showOverlay","onUnblock","growlCSS","mouseover","displayBlock","stop","fadeTo","mouseout","block","fullOpts","$el","ignoreIfBlocked","unblock","zoom","version","draggable","theme","textAlign","color","border","backgroundColor","cursor","themedCSS","overlayCSS","opacity","cursorReset","padding","iframeSrc","location","forceIframe","baseZ","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","full","msg","removeChild","lyr1","lyr2","lyr3","z","responsive","layers","$par","cancel","support","boxModel","sz","fixT","fixL","o","marginTop","expression","cb","cb1","cb2","x","y","offsetWidth","center","els","appendChild","w","cssW","unbind","fwd","back","kendo","groupSize","g","G","pl","ui","FilterCell","operators","eq","gte","gt","lte","lt","neq","isnull","isnotnull","endswith","startswith","doesnotcontain","enums","FilterMenu","ColumnMenu","columns","sortAscending","sortDescending","done","lock","unlock","RecurrenceEditor","daily","repeatEvery","after","occurrence","label","never","mobileLabel","frequencies","monthly","weekly","yearly","day","repeatOn","offsetPositions","first","fourth","last","second","third","of","weekdays","weekday","weekend","Grid","commands","canceledit","edit","excel","pdf","select","save","editable","confirmation","cancelDelete","confirmDelete","_checkRows","_uncheckCheckBoxes","table","lockedTable","_deselectCheckRows","_isLocked","_relatedRow","_toggleHeaderCheckState","_persistSelectedRows","Pager","ARIATemplate","allPages","page","itemsPerPage","morePages","TreeListPager","clear","isFalse","isTrue","operator","and","selectValue","or","additionalOperator","additionalValue","logic","FilterMultiCheck","search","Groupable","Editor","bold","createLink","fontName","fontNameInherit","fontSize","fontSizeInherit","formatBlock","indent","insertHtml","insertImage","insertOrderedList","insertUnorderedList","italic","justifyCenter","justifyFull","justifyLeft","justifyRight","outdent","strikethrough","styles","subscript","superscript","underline","unlink","deleteFile","directoryNotFound","emptyFolder","invalidFileType","orderBy","orderByName","orderBySize","overwriteFile","uploadFile","backColor","foreColor","dialogButtonSeparator","dialogCancel","dialogInsert","imageAltText","imageWebAddress","imageWidth","imageHeight","linkWebAddress","linkText","linkToolTip","linkOpenInNewWindow","createTable","createTableHint","addColumnLeft","addColumnRight","addRowAbove","addRowBelow","deleteRow","deleteColumn","mergeCellsHorizontally","mergeCellsVertically","splitCellHorizontally","splitCellVertically","tableWizard","tableTab","cellTab","accessibilityTab","caption","summary","units","cellSpacing","cellPadding","cellMargin","alignment","background","cssClass","borderStyle","collapseBorders","wrapText","associateCellsWithHeaders","alignLeft","alignCenter","alignRight","alignLeftTop","alignCenterTop","alignRightTop","alignLeftMiddle","alignCenterMiddle","alignRightMiddle","alignLeftBottom","alignCenterBottom","alignRightBottom","alignRemove","rows","selectAllCells","dropFilesHere","formatting","viewHtml","dialogUpdate","insertFile","editAreaTitle","FileBrowser","ImageBrowser","Upload","localization","retry","statusFailed","statusUploaded","statusUploading","uploadSelectedFiles","headerStatusUploaded","headerStatusUploading","invalidMaxFileSize","invalidMinFileSize","invalidFileExtension","Scheduler","allDay","editor","allDayEvent","description","editorTitle","endTimezone","repeat","separateTimezones","startTimezone","timezone","timezoneEditorButton","timezoneEditorTitle","noTimezone","recurrenceMessages","deleteRecurring","deleteWindowOccurrence","deleteWindowSeries","deleteWindowTitle","editRecurring","editWindowOccurrence","editWindowSeries","editWindowTitle","time","today","views","agenda","week","workWeek","showFullDay","showWorkDay","ariaSlotLabel","ariaEventLabel","Dialog","okText","Confirm","Prompt","ColorPicker","DatePicker","dateButtonText","timeButtonText","DropDownList","_span","_inputWrapper","firstChild","_arrow","_arrowIcon","NumericTextBox","upArrowText","downArrowText","_icon","_dateIcon","role","dateView","_dateViewID","SchedulerView","_verticalSlots","groupIndex","startSlot","endSlot","_normalizeVerticalSelection","_getNextVerticalRange","_isVerticallyGrouped","_isGroupedByDate","_changeDate","_changeGroup","MultiDayView","_updateDirection","isAllDay","collectionIndex","backward","ErrorHandling","noBasePage","maintenancePage","ajaxError","ajaxErrorHandling","onerror","jsErrorHandling","jqXHR","thrownError","responseText","err","ajaxErrorBody","exception","ajaxErrorExceptionClass","ajaxErrorExceptionMessage","alertMsg","ajaxErrorTitle","line","jsErrorTitle","jsErrorBody","h","isWindow","scrollLeft","outerWidth","outerHeight","getScrollInfo","isDocument","scrollWidth","getWithinInfo","q","within","collision","at","A","my","marginLeft","targetWidth","targetHeight","elemWidth","elemHeight","collisionPosition","collisionWidth","collisionHeight","using","horizontal","vertical","important","_trigger","positionData","triggered","fit","flip","flipfit","getElementsByTagName","margin","insertBefore","cssText","offsetFractions","iconpicker","_id","_idCounter","iconpickerValue","templates","originalPlacement","isDropdownMenu","input","_createPopover","_createIconpicker","getAcceptButton","mustAccept","isInputGroup","popover","_bindElementEvents","_bindWindowEvents","isInline","defaultValue","hideOnSelect","showFooter","searchInFooter","selectedCustomClass","icons","fullClassFormatter","inputSearch","footer","buttons","iconpickerItem","batch","iconpickerInstance","hasSeparatedSearchInput","searchTerms","_isEventInsideIconpicker","getSearchInput","getCancelButton","hasComponent","hasInput","_updateFormGroupStatus","getValid","updatePlacement","_unbindElementEvents","hasContainer","_unbindWindowEvents","bottom","maxWidth","_updateComponents","getHtml","setValue","setSourceValue","getSourceValue","isInputSearch","eRMap","determineWayError","showMarkersError","initialAddress","print","printingMap","setRoute","traffic"],"mappings":"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E,QAAS,WACzB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,QAAS,WACzB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,QAAS,WACzB,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,QAAS,WACzB,CACCpnC,MAAO,gCACPonC,YAAa,CAAE,QAAS,WACzB,CACCpnC,MAAO,aACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAAW,QAAS,QAAS,MAAO,MAAO,WAC3D,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,WAAY,iBACrC,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,WAAY,iBACrC,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAAW,OAAQ,UACnC,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,MAAO,qBACvB,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,YAAa,YAC7B,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,OAAQ,kBACxB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,S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CCpnC,MAAO,cACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,eACPonC,YAAa,CAAE,aAChB,CACCpnC,MAAO,aACPonC,YAAa,CAAE,WAAY,aAC5B,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAAW,SAAU,UAAW,WAAY,OAAQ,SAAU,OAC9E,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,eAAgB,UAChC,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,MAAO,UACvB,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAAU,WAAY,iBACtC,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAAU,WAAY,iBACtC,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,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pnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,SAAU,YAC1B,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,MAAO,YAChC,CACCpnC,MAAO,2BACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,eAAgB,WAC1C,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,eAAgB,WAC1C,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,SAAU,eAAgB,WAC1C,CACCpnC,MAAO,eACPonC,YAAa,CAAE,UAAW,SAAU,eAAgB,SACrD,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,aAChB,CACCpnC,MAAO,0BACPonC,YAAa,IACd,CACCpnC,MAAO,2BACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,0BACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAAW,SAC3B,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,WAAY,MAAO,aAAc,WACzD,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,WAAY,MAAO,aAAc,WACzD,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,eAChB,CACCpnC,MAAO,eACPonC,YAAa,CAAE,QAAS,SAAU,UAAW,WAC9C,CACCpnC,MAAO,aACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,aACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,YACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,UAAW,QAAS,MAAO,UAAW,SAAU,UAChE,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,QAAS,SAAU,MAAO,QAAS,SAAU,QAAS,SAAU,YAAa,MAAO,WAAY,WAAY,WAAY,cAAe,UAAW,QAClK,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,qBAAsB,yBACtC,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,iBAAkB,gBAClC,CACCpnC,MAAO,4BACPonC,YAAa,CAAE,mBAChB,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,WAAY,SAAU,YACtC,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,QAAS,OAAQ,WAAY,SAC7C,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,WAAY,UAC5B,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,4BACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,QAAS,SAAU,gBACnC,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,QAAS,SAAU,gBACnC,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,QAAS,OAAQ,WAAY,OAAQ,SAAU,gBAC/D,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,QAAS,OAAQ,WAAY,OAAQ,SAAU,gBAC/D,CACCpnC,MAAO,0BACPonC,YAAa,CAAE,QAAS,QAAS,OAAQ,UAAW,SAAU,iBAC/D,CACCpnC,MAAO,0BACPonC,YAAa,CAAE,QAAS,QAAS,OAAQ,UAAW,SAAU,iBAC/D,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,QAAS,SAAU,cACnC,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,QAAS,SAAU,cACnC,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,YAAa,aAAc,UAAW,SACtD,CACCpnC,MAAO,aACPonC,YAAa,CAAE,YAAa,aAAc,UAAW,SACtD,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,SAAU,WAC1B,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,QAAS,SAAU,QAAS,UAC5C,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,OAAQ,aAChC,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,OAAQ,aAChC,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,MAAO,gBACvB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,OAAQ,UACxB,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,WAAY,iBAAkB,mBAC9C,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,WAAY,iBAAkB,mBAC9C,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,QAAS,QAAS,UAAW,YAC7C,CACCpnC,MAAO,eACPonC,YAAa,CAAE,QAAS,QAAS,UAAW,YAC7C,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,QAAS,YAClC,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,QAAS,YAClC,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,cACPonC,YAAa,CAAE,OAAQ,cAAe,OAAQ,YAC/C,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,OAAQ,cAAe,OAAQ,YAC/C,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,2BACPonC,YAAa,CAAE,UAAW,OAC3B,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,YACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,SAAU,aAC1B,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,OAAQ,UACxB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,OAAQ,UACxB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,OAAQ,WAAY,SAAU,OAC9C,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,MAAO,SAAU,UACjC,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,eAChB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,aAChB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,OAAQ,gBACxB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,OAAQ,gBACxB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,oBAChB,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,aAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,QAChB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,MAAO,UAAW,QAClC,CACCpnC,MAAO,cACPonC,YAAa,CAAE,KAAM,KAAM,YAAa,WAAY,YAAa,OAAQ,SAC1E,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,KAAM,KAAM,YAAa,WAAY,YAAa,OAAQ,SAC1E,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,KAAM,KAAM,YAAa,WAAY,YAAa,OAAQ,SAC1E,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,KAAM,KAAM,YAAa,OAAQ,OAAQ,OAAQ,YACjE,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,KAAM,KAAM,YAAa,OAAQ,SACjD,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,MAAO,cAAe,WAAY,UAAW,QAAS,QAAS,QAC/E,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAAW,QAAS,aACpC,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,UAAW,QAAS,WAAY,OAAQ,SACxD,CACCpnC,MAAO,6BACPonC,YAAa,CAAE,oBAChB,CACCpnC,MAAO,6BACPonC,YAAa,CAAE,WAAY,OAAQ,oBACpC,CACCpnC,MAAO,8BACPonC,YAAa,CAAE,qBAChB,CACCpnC,MAAO,2BACPonC,YAAa,CAAE,kBAChB,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAAU,YAAa,iBACvC,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,MAAO,QAAS,OAAQ,SAAU,YAClD,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,MAAO,MAAO,WAAY,cAAe,WAAY,UAAW,SAAU,QAAS,QAAS,QAC5G,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,aAAc,QAC9B,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,YAAa,WAAY,OAAQ,UAAW,WAC5D,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,OAAQ,WAAY,SAAU,YAC9C,CACCpnC,MAAO,aACPonC,YAAa,CAAE,OAAQ,WAAY,SAAU,YAC9C,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,gBAChB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAAU,QAAS,UACnC,CACCpnC,MAAO,0BACPonC,YAAa,CAAE,SAAU,QAAS,QAAS,SAC5C,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,SAAU,SAAU,SAAU,QAAS,OAAQ,aACvE,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,SAAU,SAAU,QAAS,SAC7C,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,OAAQ,SAAU,SAAU,SAAU,QAAS,OAAQ,aACvE,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,OAAQ,SAAU,SAAU,SAAU,QAAS,OAAQ,aACvE,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,aAAc,YAAa,OAAQ,OAAQ,SAAU,SAAU,cAC/E,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,OAAQ,QAAS,MAAO,WAAY,WAAY,UAAW,UAC3E,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,OAAQ,QAAS,MAAO,WAAY,WAAY,UAAW,UAC3E,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,SAAU,aACnC,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,SAAU,aACnC,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,UAAW,SAC3B,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,UACxB,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,YACzB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,YACzB,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,8BACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,OAAQ,SAAU,OAAQ,QAAS,MAAO,WAC1D,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,eAChB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,cACxB,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,QAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,QAAS,OAAQ,SAAU,kBAC3C,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,QAAS,OAAQ,SAAU,SAAU,WACrD,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,2BACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,QAAS,SAAU,UAAW,WAAY,cAClE,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,OAAQ,QAAS,SAAU,UAAW,cACtD,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,YAAa,yBAC7B,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,WAAY,UAC5B,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,0BACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAAU,OAAQ,WAAY,cAAe,WAAY,MAAO,SAChF,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,UAAW,QAAS,UAC7C,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,QAAS,YACzB,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,QAAS,YACzB,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,YACzB,CACCpnC,MAAO,cACPonC,YAAa,CAAE,MAAO,MAAO,SAAU,WACxC,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,MAAO,MAAO,SAAU,WACxC,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,MAAO,MAAO,SAAU,WACxC,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,MAAO,MAAO,SAAU,WACxC,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,MAAO,QACvB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,OAChB,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,QAAS,SAAU,YACnC,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,YACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,OAAQ,cAAe,UAAW,YAClD,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,OAAQ,cAAe,UAAW,YAClD,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,OAAQ,cAAe,UAAW,YAClD,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,OAAQ,YACxB,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAAW,SAAU,WACrC,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,UAAW,WAC3B,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAAW,SAAU,QAAS,SAC9C,CACCpnC,MAAO,cACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAChB,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,OAAQ,SACxB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,MAAO,QACvB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,SAAU,QAC1B,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,aAC1B,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,aAC1B,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,UAAW,OAAQ,UAAW,WAC9C,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,UAAW,SAAU,OAAQ,YAC7C,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,UAAW,OAAQ,UAAW,WAC9C,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,YAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,0BACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,SAAU,SAC1B,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,SAAU,SAC1B,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,MAAO,QACvB,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,cACPonC,YAAa,CAAE,OAAQ,QACxB,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,WAAY,MAAO,WAAY,YAC/C,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,QAAS,OAAQ,SAAU,QAAS,UAAW,UAAW,SAAU,SAAU,QAAS,YACvG,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,UAAW,SAAU,QAAS,OAAQ,QAAS,aAC/D,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,OAAQ,WACjC,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,YAAa,YAAa,iBAC1C,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,UAAW,SAAU,SACrC,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,UAAW,SAAU,SACrC,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,WAAY,YAC5B,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,WAAY,QAAS,UAAW,YAAa,WACrE,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,WAAY,QAAS,UAAW,YAAa,WACrE,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,mBAChB,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,oBAChB,CACCpnC,MAAO,0BACPonC,YAAa,CAAE,oBAChB,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,qBAChB,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,aAAc,cACvC,CACCpnC,MAAO,2BACPonC,YAAa,CAAE,UAAW,qBAC3B,CACCpnC,MAAO,yBACPonC,YAAa,CAAE,UAAW,sBAC3B,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,QAAS,YAAa,aACtC,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAAW,aAC3B,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,QACzB,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,QACzB,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,cAAe,QAAS,SAAU,QAAS,aACpE,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,cAAe,QAAS,SAAU,QAAS,aACpE,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,cAAe,SAAU,QAAS,kBAAmB,mBAC9E,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,cAAe,SAAU,QAAS,kBAAmB,mBAC9E,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,SAAU,WAAY,YAAa,QAAS,UAC5D,CACCpnC,MAAO,sBACPonC,YAAa,CAAE,OAAQ,MAAO,SAC/B,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,QAAS,MAAO,WAChC,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,QAChB,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,4BACPonC,YA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AW,SAAU,SAAU,OAAQ,QAAS,YAChE,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,QAAS,cAAe,MAAO,SAAU,SACzD,CACCpnC,MAAO,eACPonC,YAAa,CAAE,aAChB,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,YACPonC,YAAa,CAAE,UAAW,WAAY,UAAW,eAClD,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,QAAS,mBACzB,CACCpnC,MAAO,wBACPonC,YAAa,CAAE,QAAS,mBACzB,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,SAChB,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,0BACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,OAAQ,gBACxB,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,SAAU,QAAS,iBACnC,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,UAAW,QAAS,WAAY,SAChD,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,UAAW,QAAS,WAAY,SAChD,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,MAAO,OAAQ,UAAW,YACpD,CACCpnC,MAAO,cACPonC,YAAa,CAAE,SAAU,MAAO,OAAQ,UAAW,YACpD,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,SAAU,MAAO,OAAQ,UAAW,YACpD,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,SAAU,MAAO,OAAQ,UAAW,YACpD,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,SAAU,UAAW,UAAW,QAAS,MAAO,eAChE,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,UAAW,WAC3B,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,UAAW,MAAO,YAAa,YAC/C,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,SAAU,WAAY,YACtC,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,OAAQ,aAAc,QAAS,QAAS,SAAU,MAAO,YACzE,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,WAChB,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,uBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,CAAE,OAAQ,QAAS,SAAU,SAAU,iBACrD,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,YACPonC,YAAa,IACd,CACCpnC,MAAO,aACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,CAAE,QAAS,QAAS,UAAW,QAAS,UACtD,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,QAAS,OAAQ,QAAS,UAC1C,CACCpnC,MAAO,mBACPonC,YAAa,CAAE,QAAS,SAAU,SAAU,QAAS,UACtD,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,UAChB,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,CAAE,WAAY,WAC5B,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,yBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,wBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,cAChB,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,MAAO,QACvB,CACCpnC,MAAO,mBACPonC,YAAa,IACd,CACCpnC,MAAO,0BACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,oBACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,CAAE,WAAY,MAAO,SAAU,UAAW,SACxD,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,qBACPonC,YAAa,IACd,CACCpnC,MAAO,sBACPonC,YAAa,IACd,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,gBACPonC,YAAa,IACd,CACCpnC,MAAO,8BACPonC,YAAa,IACd,CACCpnC,MAAO,cACPonC,YAAa,IACd,CACCpnC,MAAO,kBACPonC,YAAa,CAAE,MAAO,QACvB,CACCpnC,MAAO,eACPonC,YAAa,IACd,CACCpnC,MAAO,iBACPonC,YAAa,CAAE,QAAS,OAAQ,eAAgB,mBACjD,CACCpnC,MAAO,wBACPonC,YAAa;CCxzHxB,SAAUlrD,EAAQiK,IAIQ,oBAAZxP,SACY,oBAAZF,SACW,oBAAXC,OAEKC,QAAQ,aAGRuF,EAAO6/B,WAGb8K,eAAe,QAAS,UAAW,CACzClqC,KAAM,QACNihC,YAAa,kBACbC,WAAY,kBACZC,SAAU,KACVC,aAAc,CACV,IAAK,IACL,IAAK,IACLG,IAAO,kBACPC,iBAAkB,kBAClBC,iBAAkB,kBAClBC,QAAS,CACLL,QAAS,CAAC,MAAO,MACjB,IAAK,IACL,IAAK,KAETO,SAAU,CACNP,QAAS,CAAC,OAAQ,OAClB,IAAK,IACL,IAAK,IACLM,OAAQ,OAGhBE,UAAW,CACPC,SAAU,CACN,IAAK,IACLC,SAAU,EACVC,KAAM,CACFC,MAAO,CAAC,YAAa,eAAgB,SAAU,QAAS,WAAY,SAAU,UAC9EC,UAAW,CAAC,SAAU,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC3DC,WAAY,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,OAEpDC,OAAQ,CACJH,MAAO,CAAC,UAAW,OAAQ,SAAU,WAAY,MAAO,WAAY,SAAU,WAAY,WAAY,cAAe,WAAY,WAAY,IAC7IC,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAEpG6D,eAAgB,CACZ9D,MAAO,CAAC,WAAY,SAAU,QAAS,WAAY,OAAQ,UAAW,QAAS,WAAY,WAAY,eAAgB,YAAa,UAAW,IAC/IC,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAEpGG,GAAI,KACJC,GAAI,KACJG,SAAU,CACN1nC,EAAG,aACH2nC,EAAG,cACHC,EAAG,QACHC,EAAG,WACHC,EAAG,oBACHC,EAAG,uBACHC,EAAG,SACHC,EAAG,iBAhEvB,CAsEEzoC,MAEFwF,EAAEwtB,OAAOxtB,EAAE0tB,UAAU8B,SAAU,CACvBK,SAAU,iBACVC,OAAQ,uBACR+C,MAAO,4CACPC,IAAK,+BACLC,KAAM,0BACNC,QAAS,mCACTC,OAAQ,2BACRC,OAAQ,qCACRuG,WAAY,qDACZtG,QAAS,iDACTC,UAAWpzB,EAAE0tB,UAAU8C,OAAO,gDAC9B6C,UAAWrzB,EAAE0tB,UAAU8C,OAAO,+CAC9B8C,YAAatzB,EAAE0tB,UAAU8C,OAAO,2CAChC+C,MAAOvzB,EAAE0tB,UAAU8C,OAAO,sDAC1BnuB,IAAKrC,EAAE0tB,UAAU8C,OAAO,qDACxBluB,IAAKtC,EAAE0tB,UAAU8C,OAAO,sDAGhCy0B,cAAcz1B,SAAW,CACrBy2B,eAAgB,YAChBL,cAAe5lD,EAAE0tB,UAAU8C,OAAO,4OAKlCs1B,wBAAyB9lD,EAAE0tB,UAAU8C,OAAO,2BAC5Cu1B,0BAA2B/lD,EAAE0tB,UAAU8C,OAAO,6BAC9C21B,aAAc,kBACdC,YAAapmD,EAAE0tB,UAAU8C,OAAO,iQAQpCs7B,MAAMt8B,SAAW,CACbu8B,kBAAmB,mEACnBC,iBAAkB,sEAClBC,eAAgB,sBAChBC,MAAO,SACPC,YAAa,kBACbC,SAAU,gBACVC,QAAS,kBACTjrB,SAAU","file":"bottomscripts.min.js","sourcesContent":[null,"/*!\r\n * jQuery Validation Plugin v1.19.3\r\n *\r\n * https://jqueryvalidation.org/\r\n *\r\n * Copyright (c) 2021 Jörn Zaefferer\r\n * Released under the MIT license\r\n */\r\n(function (factory) {\r\n\tif (typeof define === \"function\" && define.amd) {\r\n\t\tdefine([\"jquery\"], factory);\r\n\t} else if (typeof module === \"object\" && module.exports) {\r\n\t\tmodule.exports = factory(require(\"jquery\"));\r\n\t} else {\r\n\t\tfactory(jQuery);\r\n\t}\r\n}(function ($) {\r\n\r\n\t$.extend($.fn, {\r\n\r\n\t\t// https://jqueryvalidation.org/validate/\r\n\t\tvalidate: function (options) {\r\n\r\n\t\t\t// If nothing is selected, return nothing; can't chain anyway\r\n\t\t\tif (!this.length) {\r\n\t\t\t\tif (options && options.debug && window.console) {\r\n\t\t\t\t\tconsole.warn(\"Nothing selected, can't validate, returning nothing.\");\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if a validator for this form was already created\r\n\t\t\tvar validator = $.data(this[0], \"validator\");\r\n\t\t\tif (validator) {\r\n\t\t\t\treturn validator;\r\n\t\t\t}\r\n\r\n\t\t\t// Add novalidate tag if HTML5.\r\n\t\t\tthis.attr(\"novalidate\", \"novalidate\");\r\n\r\n\t\t\tvalidator = new $.validator(options, this[0]);\r\n\t\t\t$.data(this[0], \"validator\", validator);\r\n\r\n\t\t\tif (validator.settings.onsubmit) {\r\n\r\n\t\t\t\tthis.on(\"click.validate\", \":submit\", function (event) {\r\n\r\n\t\t\t\t\t// Track the used submit button to properly handle scripted\r\n\t\t\t\t\t// submits later.\r\n\t\t\t\t\tvalidator.submitButton = event.currentTarget;\r\n\r\n\t\t\t\t\t// Allow suppressing validation by adding a cancel class to the submit button\r\n\t\t\t\t\tif ($(this).hasClass(\"cancel\")) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\r\n\t\t\t\t\tif ($(this).attr(\"formnovalidate\") !== undefined) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Validate the form on submit\r\n\t\t\t\tthis.on(\"submit.validate\", function (event) {\r\n\t\t\t\t\tif (validator.settings.debug) {\r\n\r\n\t\t\t\t\t\t// Prevent form submit to be able to see console output\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfunction handle() {\r\n\t\t\t\t\t\tvar hidden, result;\r\n\r\n\t\t\t\t\t\t// Insert a hidden input as a replacement for the missing submit button\r\n\t\t\t\t\t\t// The hidden input is inserted in two cases:\r\n\t\t\t\t\t\t// - A user defined a `submitHandler`\r\n\t\t\t\t\t\t// - There was a pending request due to `remote` method and `stopRequest()`\r\n\t\t\t\t\t\t// was called to submit the form in case it's valid\r\n\t\t\t\t\t\tif (validator.submitButton && (validator.settings.submitHandler || validator.formSubmitted)) {\r\n\t\t\t\t\t\t\thidden = $(\"\")\r\n\t\t\t\t\t\t\t\t.attr(\"name\", validator.submitButton.name)\r\n\t\t\t\t\t\t\t\t.val($(validator.submitButton).val())\r\n\t\t\t\t\t\t\t\t.appendTo(validator.currentForm);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (validator.settings.submitHandler && !validator.settings.debug) {\r\n\t\t\t\t\t\t\tresult = validator.settings.submitHandler.call(validator, validator.currentForm, event);\r\n\t\t\t\t\t\t\tif (hidden) {\r\n\r\n\t\t\t\t\t\t\t\t// And clean up afterwards; thanks to no-block-scope, hidden can be referenced\r\n\t\t\t\t\t\t\t\thidden.remove();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (result !== undefined) {\r\n\t\t\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Prevent submit for invalid forms or custom submit handlers\r\n\t\t\t\t\tif (validator.cancelSubmit) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = false;\r\n\t\t\t\t\t\treturn handle();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (validator.form()) {\r\n\t\t\t\t\t\tif (validator.pendingRequest) {\r\n\t\t\t\t\t\t\tvalidator.formSubmitted = true;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn handle();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvalidator.focusInvalid();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn validator;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/valid/\r\n\t\tvalid: function () {\r\n\t\t\tvar valid, validator, errorList;\r\n\r\n\t\t\tif ($(this[0]).is(\"form\")) {\r\n\t\t\t\tvalid = this.validate().form();\r\n\t\t\t} else {\r\n\t\t\t\terrorList = [];\r\n\t\t\t\tvalid = true;\r\n\t\t\t\tvalidator = $(this[0].form).validate();\r\n\t\t\t\tthis.each(function () {\r\n\t\t\t\t\tvalid = validator.element(this) && valid;\r\n\t\t\t\t\tif (!valid) {\r\n\t\t\t\t\t\terrorList = errorList.concat(validator.errorList);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tvalidator.errorList = errorList;\r\n\t\t\t}\r\n\t\t\treturn valid;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/rules/\r\n\t\trules: function (command, argument) {\r\n\t\t\tvar element = this[0],\r\n\t\t\t\tisContentEditable = typeof this.attr(\"contenteditable\") !== \"undefined\" && this.attr(\"contenteditable\") !== \"false\",\r\n\t\t\t\tsettings, staticRules, existingRules, data, param, filtered;\r\n\r\n\t\t\t// If nothing is selected, return empty object; can't chain anyway\r\n\t\t\tif (element == null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!element.form && isContentEditable) {\r\n\t\t\t\telement.form = this.closest(\"form\")[0];\r\n\t\t\t\telement.name = this.attr(\"name\");\r\n\t\t\t}\r\n\r\n\t\t\tif (element.form == null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (command) {\r\n\t\t\t\tsettings = $.data(element.form, \"validator\").settings;\r\n\t\t\t\tstaticRules = settings.rules;\r\n\t\t\t\texistingRules = $.validator.staticRules(element);\r\n\t\t\t\tswitch (command) {\r\n\t\t\t\t\tcase \"add\":\r\n\t\t\t\t\t\t$.extend(existingRules, $.validator.normalizeRule(argument));\r\n\r\n\t\t\t\t\t\t// Remove messages from rules, but allow them to be set separately\r\n\t\t\t\t\t\tdelete existingRules.messages;\r\n\t\t\t\t\t\tstaticRules[element.name] = existingRules;\r\n\t\t\t\t\t\tif (argument.messages) {\r\n\t\t\t\t\t\t\tsettings.messages[element.name] = $.extend(settings.messages[element.name], argument.messages);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"remove\":\r\n\t\t\t\t\t\tif (!argument) {\r\n\t\t\t\t\t\t\tdelete staticRules[element.name];\r\n\t\t\t\t\t\t\treturn existingRules;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfiltered = {};\r\n\t\t\t\t\t\t$.each(argument.split(/\\s/), function (index, method) {\r\n\t\t\t\t\t\t\tfiltered[method] = existingRules[method];\r\n\t\t\t\t\t\t\tdelete existingRules[method];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn filtered;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tdata = $.validator.normalizeRules(\r\n\t\t\t\t$.extend(\r\n\t\t\t\t\t{},\r\n\t\t\t\t\t$.validator.classRules(element),\r\n\t\t\t\t\t$.validator.attributeRules(element),\r\n\t\t\t\t\t$.validator.dataRules(element),\r\n\t\t\t\t\t$.validator.staticRules(element)\r\n\t\t\t\t), element);\r\n\r\n\t\t\t// Make sure required is at front\r\n\t\t\tif (data.required) {\r\n\t\t\t\tparam = data.required;\r\n\t\t\t\tdelete data.required;\r\n\t\t\t\tdata = $.extend({ required: param }, data);\r\n\t\t\t}\r\n\r\n\t\t\t// Make sure remote is at back\r\n\t\t\tif (data.remote) {\r\n\t\t\t\tparam = data.remote;\r\n\t\t\t\tdelete data.remote;\r\n\t\t\t\tdata = $.extend(data, { remote: param });\r\n\t\t\t}\r\n\r\n\t\t\treturn data;\r\n\t\t}\r\n\t});\r\n\r\n\t// JQuery trim is deprecated, provide a trim method based on String.prototype.trim\r\n\tvar trim = function (str) {\r\n\r\n\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\r\n\t\treturn str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\r\n\t};\r\n\r\n\t// Custom selectors\r\n\t$.extend($.expr.pseudos || $.expr[\":\"], {\t\t// '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\r\n\r\n\t\t// https://jqueryvalidation.org/blank-selector/\r\n\t\tblank: function (a) {\r\n\t\t\treturn !trim(\"\" + $(a).val());\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/filled-selector/\r\n\t\tfilled: function (a) {\r\n\t\t\tvar val = $(a).val();\r\n\t\t\treturn val !== null && !!trim(\"\" + val);\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/unchecked-selector/\r\n\t\tunchecked: function (a) {\r\n\t\t\treturn !$(a).prop(\"checked\");\r\n\t\t}\r\n\t});\r\n\r\n\t// Constructor for validator\r\n\t$.validator = function (options, form) {\r\n\t\tthis.settings = $.extend(true, {}, $.validator.defaults, options);\r\n\t\tthis.currentForm = form;\r\n\t\tthis.init();\r\n\t};\r\n\r\n\t// https://jqueryvalidation.org/jQuery.validator.format/\r\n\t$.validator.format = function (source, params) {\r\n\t\tif (arguments.length === 1) {\r\n\t\t\treturn function () {\r\n\t\t\t\tvar args = $.makeArray(arguments);\r\n\t\t\t\targs.unshift(source);\r\n\t\t\t\treturn $.validator.format.apply(this, args);\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (params === undefined) {\r\n\t\t\treturn source;\r\n\t\t}\r\n\t\tif (arguments.length > 2 && params.constructor !== Array) {\r\n\t\t\tparams = $.makeArray(arguments).slice(1);\r\n\t\t}\r\n\t\tif (params.constructor !== Array) {\r\n\t\t\tparams = [params];\r\n\t\t}\r\n\t\t$.each(params, function (i, n) {\r\n\t\t\tsource = source.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), function () {\r\n\t\t\t\treturn n;\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn source;\r\n\t};\r\n\r\n\t$.extend($.validator, {\r\n\r\n\t\tdefaults: {\r\n\t\t\tmessages: {},\r\n\t\t\tgroups: {},\r\n\t\t\trules: {},\r\n\t\t\terrorClass: \"error\",\r\n\t\t\tpendingClass: \"pending\",\r\n\t\t\tvalidClass: \"valid\",\r\n\t\t\terrorElement: \"label\",\r\n\t\t\tfocusCleanup: false,\r\n\t\t\tfocusInvalid: true,\r\n\t\t\terrorContainer: $([]),\r\n\t\t\terrorLabelContainer: $([]),\r\n\t\t\tonsubmit: true,\r\n\t\t\tignore: \":hidden\",\r\n\t\t\tignoreTitle: false,\r\n\t\t\tonfocusin: function (element) {\r\n\t\t\t\tthis.lastActive = element;\r\n\r\n\t\t\t\t// Hide error label and remove error class on focus if enabled\r\n\t\t\t\tif (this.settings.focusCleanup) {\r\n\t\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, element, this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.hideThese(this.errorsFor(element));\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonfocusout: function (element) {\r\n\t\t\t\tif (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) {\r\n\t\t\t\t\tthis.element(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonkeyup: function (element, event) {\r\n\r\n\t\t\t\t// Avoid revalidate the field when pressing one of the following keys\r\n\t\t\t\t// Shift => 16\r\n\t\t\t\t// Ctrl => 17\r\n\t\t\t\t// Alt => 18\r\n\t\t\t\t// Caps lock => 20\r\n\t\t\t\t// End => 35\r\n\t\t\t\t// Home => 36\r\n\t\t\t\t// Left arrow => 37\r\n\t\t\t\t// Up arrow => 38\r\n\t\t\t\t// Right arrow => 39\r\n\t\t\t\t// Down arrow => 40\r\n\t\t\t\t// Insert => 45\r\n\t\t\t\t// Num lock => 144\r\n\t\t\t\t// AltGr key => 225\r\n\t\t\t\tvar excludedKeys = [\r\n\t\t\t\t\t16, 17, 18, 20, 35, 36, 37,\r\n\t\t\t\t\t38, 39, 40, 45, 144, 225\r\n\t\t\t\t];\r\n\r\n\t\t\t\tif (event.which === 9 && this.elementValue(element) === \"\" || $.inArray(event.keyCode, excludedKeys) !== -1) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (element.name in this.submitted || element.name in this.invalid) {\r\n\t\t\t\t\tthis.element(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonclick: function (element) {\r\n\r\n\t\t\t\t// Click on selects, radiobuttons and checkboxes\r\n\t\t\t\tif (element.name in this.submitted) {\r\n\t\t\t\t\tthis.element(element);\r\n\r\n\t\t\t\t\t// Or option elements, check parent select in that case\r\n\t\t\t\t} else if (element.parentNode.name in this.submitted) {\r\n\t\t\t\t\tthis.element(element.parentNode);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thighlight: function (element, errorClass, validClass) {\r\n\t\t\t\tif (element.type === \"radio\") {\r\n\t\t\t\t\tthis.findByName(element.name).addClass(errorClass).removeClass(validClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(element).addClass(errorClass).removeClass(validClass);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tunhighlight: function (element, errorClass, validClass) {\r\n\t\t\t\tif (element.type === \"radio\") {\r\n\t\t\t\t\tthis.findByName(element.name).removeClass(errorClass).addClass(validClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(element).removeClass(errorClass).addClass(validClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.setDefaults/\r\n\t\tsetDefaults: function (settings) {\r\n\t\t\t$.extend($.validator.defaults, settings);\r\n\t\t},\r\n\r\n\t\tmessages: {\r\n\t\t\trequired: \"This field is required.\",\r\n\t\t\tremote: \"Please fix this field.\",\r\n\t\t\temail: \"Please enter a valid email address.\",\r\n\t\t\turl: \"Please enter a valid URL.\",\r\n\t\t\tdate: \"Please enter a valid date.\",\r\n\t\t\tdateISO: \"Please enter a valid date (ISO).\",\r\n\t\t\tnumber: \"Please enter a valid number.\",\r\n\t\t\tdigits: \"Please enter only digits.\",\r\n\t\t\tequalTo: \"Please enter the same value again.\",\r\n\t\t\tmaxlength: $.validator.format(\"Please enter no more than {0} characters.\"),\r\n\t\t\tminlength: $.validator.format(\"Please enter at least {0} characters.\"),\r\n\t\t\trangelength: $.validator.format(\"Please enter a value between {0} and {1} characters long.\"),\r\n\t\t\trange: $.validator.format(\"Please enter a value between {0} and {1}.\"),\r\n\t\t\tmax: $.validator.format(\"Please enter a value less than or equal to {0}.\"),\r\n\t\t\tmin: $.validator.format(\"Please enter a value greater than or equal to {0}.\"),\r\n\t\t\tstep: $.validator.format(\"Please enter a multiple of {0}.\")\r\n\t\t},\r\n\r\n\t\tautoCreateRanges: false,\r\n\r\n\t\tprototype: {\r\n\r\n\t\t\tinit: function () {\r\n\t\t\t\tthis.labelContainer = $(this.settings.errorLabelContainer);\r\n\t\t\t\tthis.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);\r\n\t\t\t\tthis.containers = $(this.settings.errorContainer).add(this.settings.errorLabelContainer);\r\n\t\t\t\tthis.submitted = {};\r\n\t\t\t\tthis.valueCache = {};\r\n\t\t\t\tthis.pendingRequest = 0;\r\n\t\t\t\tthis.pending = {};\r\n\t\t\t\tthis.invalid = {};\r\n\t\t\t\tthis.reset();\r\n\r\n\t\t\t\tvar currentForm = this.currentForm,\r\n\t\t\t\t\tgroups = (this.groups = {}),\r\n\t\t\t\t\trules;\r\n\t\t\t\t$.each(this.settings.groups, function (key, value) {\r\n\t\t\t\t\tif (typeof value === \"string\") {\r\n\t\t\t\t\t\tvalue = value.split(/\\s/);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$.each(value, function (index, name) {\r\n\t\t\t\t\t\tgroups[name] = key;\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\trules = this.settings.rules;\r\n\t\t\t\t$.each(rules, function (key, value) {\r\n\t\t\t\t\trules[key] = $.validator.normalizeRule(value);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tfunction delegate(event) {\r\n\t\t\t\t\tvar isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\r\n\r\n\t\t\t\t\t// Set form expando on contenteditable\r\n\t\t\t\t\tif (!this.form && isContentEditable) {\r\n\t\t\t\t\t\tthis.form = $(this).closest(\"form\")[0];\r\n\t\t\t\t\t\tthis.name = $(this).attr(\"name\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Ignore the element if it belongs to another form. This will happen mainly\r\n\t\t\t\t\t// when setting the `form` attribute of an input to the id of another form.\r\n\t\t\t\t\tif (currentForm !== this.form) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar validator = $.data(this.form, \"validator\"),\r\n\t\t\t\t\t\teventType = \"on\" + event.type.replace(/^validate/, \"\"),\r\n\t\t\t\t\t\tsettings = validator.settings;\r\n\t\t\t\t\tif (settings[eventType] && !$(this).is(settings.ignore)) {\r\n\t\t\t\t\t\tsettings[eventType].call(validator, this, event);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(this.currentForm)\r\n\t\t\t\t\t.on(\"focusin.validate focusout.validate keyup.validate\",\r\n\t\t\t\t\t\t\":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" +\r\n\t\t\t\t\t\t\"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" +\r\n\t\t\t\t\t\t\"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" +\r\n\t\t\t\t\t\t\"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate)\r\n\r\n\t\t\t\t\t// Support: Chrome, oldIE\r\n\t\t\t\t\t// \"select\" is provided as event.target when clicking a option\r\n\t\t\t\t\t.on(\"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate);\r\n\r\n\t\t\t\tif (this.settings.invalidHandler) {\r\n\t\t\t\t\t$(this.currentForm).on(\"invalid-form.validate\", this.settings.invalidHandler);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.form/\r\n\t\t\tform: function () {\r\n\t\t\t\tthis.checkForm();\r\n\t\t\t\t$.extend(this.submitted, this.errorMap);\r\n\t\t\t\tthis.invalid = $.extend({}, this.errorMap);\r\n\t\t\t\tif (!this.valid()) {\r\n\t\t\t\t\t$(this.currentForm).triggerHandler(\"invalid-form\", [this]);\r\n\t\t\t\t}\r\n\t\t\t\tthis.showErrors();\r\n\t\t\t\treturn this.valid();\r\n\t\t\t},\r\n\r\n\t\t\tcheckForm: function () {\r\n\t\t\t\tthis.prepareForm();\r\n\t\t\t\tfor (var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++) {\r\n\t\t\t\t\tthis.check(elements[i]);\r\n\t\t\t\t}\r\n\t\t\t\treturn this.valid();\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.element/\r\n\t\t\telement: function (element) {\r\n\t\t\t\tvar cleanElement = this.clean(element),\r\n\t\t\t\t\tcheckElement = this.validationTargetFor(cleanElement),\r\n\t\t\t\t\tv = this,\r\n\t\t\t\t\tresult = true,\r\n\t\t\t\t\trs, group;\r\n\r\n\t\t\t\tif (checkElement === undefined) {\r\n\t\t\t\t\tdelete this.invalid[cleanElement.name];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.prepareElement(checkElement);\r\n\t\t\t\t\tthis.currentElements = $(checkElement);\r\n\r\n\t\t\t\t\t// If this element is grouped, then validate all group elements already\r\n\t\t\t\t\t// containing a value\r\n\t\t\t\t\tgroup = this.groups[checkElement.name];\r\n\t\t\t\t\tif (group) {\r\n\t\t\t\t\t\t$.each(this.groups, function (name, testgroup) {\r\n\t\t\t\t\t\t\tif (testgroup === group && name !== checkElement.name) {\r\n\t\t\t\t\t\t\t\tcleanElement = v.validationTargetFor(v.clean(v.findByName(name)));\r\n\t\t\t\t\t\t\t\tif (cleanElement && cleanElement.name in v.invalid) {\r\n\t\t\t\t\t\t\t\t\tv.currentElements.push(cleanElement);\r\n\t\t\t\t\t\t\t\t\tresult = v.check(cleanElement) && result;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\trs = this.check(checkElement) !== false;\r\n\t\t\t\t\tresult = result && rs;\r\n\t\t\t\t\tif (rs) {\r\n\t\t\t\t\t\tthis.invalid[checkElement.name] = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.invalid[checkElement.name] = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!this.numberOfInvalids()) {\r\n\r\n\t\t\t\t\t\t// Hide error containers on last error\r\n\t\t\t\t\t\tthis.toHide = this.toHide.add(this.containers);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.showErrors();\r\n\r\n\t\t\t\t\t// Add aria-invalid status for screen readers\r\n\t\t\t\t\t$(element).attr(\"aria-invalid\", !rs);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.showErrors/\r\n\t\t\tshowErrors: function (errors) {\r\n\t\t\t\tif (errors) {\r\n\t\t\t\t\tvar validator = this;\r\n\r\n\t\t\t\t\t// Add items to error list and map\r\n\t\t\t\t\t$.extend(this.errorMap, errors);\r\n\t\t\t\t\tthis.errorList = $.map(this.errorMap, function (message, name) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmessage: message,\r\n\t\t\t\t\t\t\telement: validator.findByName(name)[0]\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Remove items from success list\r\n\t\t\t\t\tthis.successList = $.grep(this.successList, function (element) {\r\n\t\t\t\t\t\treturn !(element.name in errors);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.showErrors) {\r\n\t\t\t\t\tthis.settings.showErrors.call(this, this.errorMap, this.errorList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.defaultShowErrors();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.resetForm/\r\n\t\t\tresetForm: function () {\r\n\t\t\t\tif ($.fn.resetForm) {\r\n\t\t\t\t\t$(this.currentForm).resetForm();\r\n\t\t\t\t}\r\n\t\t\t\tthis.invalid = {};\r\n\t\t\t\tthis.submitted = {};\r\n\t\t\t\tthis.prepareForm();\r\n\t\t\t\tthis.hideErrors();\r\n\t\t\t\tvar elements = this.elements()\r\n\t\t\t\t\t.removeData(\"previousValue\")\r\n\t\t\t\t\t.removeAttr(\"aria-invalid\");\r\n\r\n\t\t\t\tthis.resetElements(elements);\r\n\t\t\t},\r\n\r\n\t\t\tresetElements: function (elements) {\r\n\t\t\t\tvar i;\r\n\r\n\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\tfor (i = 0; elements[i]; i++) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, elements[i],\r\n\t\t\t\t\t\t\tthis.settings.errorClass, \"\");\r\n\t\t\t\t\t\tthis.findByName(elements[i].name).removeClass(this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\telements\r\n\t\t\t\t\t\t.removeClass(this.settings.errorClass)\r\n\t\t\t\t\t\t.removeClass(this.settings.validClass);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tnumberOfInvalids: function () {\r\n\t\t\t\treturn this.objectLength(this.invalid);\r\n\t\t\t},\r\n\r\n\t\t\tobjectLength: function (obj) {\r\n\t\t\t\t/* jshint unused: false */\r\n\t\t\t\tvar count = 0,\r\n\t\t\t\t\ti;\r\n\t\t\t\tfor (i in obj) {\r\n\r\n\t\t\t\t\t// This check allows counting elements with empty error\r\n\t\t\t\t\t// message as invalid elements\r\n\t\t\t\t\tif (obj[i] !== undefined && obj[i] !== null && obj[i] !== false) {\r\n\t\t\t\t\t\tcount++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn count;\r\n\t\t\t},\r\n\r\n\t\t\thideErrors: function () {\r\n\t\t\t\tthis.hideThese(this.toHide);\r\n\t\t\t},\r\n\r\n\t\t\thideThese: function (errors) {\r\n\t\t\t\terrors.not(this.containers).text(\"\");\r\n\t\t\t\tthis.addWrapper(errors).hide();\r\n\t\t\t},\r\n\r\n\t\t\tvalid: function () {\r\n\t\t\t\treturn this.size() === 0;\r\n\t\t\t},\r\n\r\n\t\t\tsize: function () {\r\n\t\t\t\treturn this.errorList.length;\r\n\t\t\t},\r\n\r\n\t\t\tfocusInvalid: function () {\r\n\t\t\t\tif (this.settings.focusInvalid) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\t$(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])\r\n\t\t\t\t\t\t\t.filter(\":visible\")\r\n\t\t\t\t\t\t\t.trigger(\"focus\")\r\n\r\n\t\t\t\t\t\t\t// Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\r\n\t\t\t\t\t\t\t.trigger(\"focusin\");\r\n\t\t\t\t\t} catch (e) {\r\n\r\n\t\t\t\t\t\t// Ignore IE throwing errors when focusing hidden elements\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tfindLastActive: function () {\r\n\t\t\t\tvar lastActive = this.lastActive;\r\n\t\t\t\treturn lastActive && $.grep(this.errorList, function (n) {\r\n\t\t\t\t\treturn n.element.name === lastActive.name;\r\n\t\t\t\t}).length === 1 && lastActive;\r\n\t\t\t},\r\n\r\n\t\t\telements: function () {\r\n\t\t\t\tvar validator = this,\r\n\t\t\t\t\trulesCache = {};\r\n\r\n\t\t\t\t// Select all valid inputs inside the form (no submit or reset buttons)\r\n\t\t\t\treturn $(this.currentForm)\r\n\t\t\t\t\t.find(\"input, select, textarea, [contenteditable]\")\r\n\t\t\t\t\t.not(\":submit, :reset, :image, :disabled\")\r\n\t\t\t\t\t.not(this.settings.ignore)\r\n\t\t\t\t\t.filter(function () {\r\n\t\t\t\t\t\tvar name = this.name || $(this).attr(\"name\"); // For contenteditable\r\n\t\t\t\t\t\tvar isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\r\n\r\n\t\t\t\t\t\tif (!name && validator.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.error(\"%o has no name assigned\", this);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Set form expando on contenteditable\r\n\t\t\t\t\t\tif (isContentEditable) {\r\n\t\t\t\t\t\t\tthis.form = $(this).closest(\"form\")[0];\r\n\t\t\t\t\t\t\tthis.name = name;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Ignore elements that belong to other/nested forms\r\n\t\t\t\t\t\tif (this.form !== validator.currentForm) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Select only the first element for each name, and only those with rules specified\r\n\t\t\t\t\t\tif (name in rulesCache || !validator.objectLength($(this).rules())) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\trulesCache[name] = true;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tclean: function (selector) {\r\n\t\t\t\treturn $(selector)[0];\r\n\t\t\t},\r\n\r\n\t\t\terrors: function () {\r\n\t\t\t\tvar errorClass = this.settings.errorClass.split(\" \").join(\".\");\r\n\t\t\t\treturn $(this.settings.errorElement + \".\" + errorClass, this.errorContext);\r\n\t\t\t},\r\n\r\n\t\t\tresetInternals: function () {\r\n\t\t\t\tthis.successList = [];\r\n\t\t\t\tthis.errorList = [];\r\n\t\t\t\tthis.errorMap = {};\r\n\t\t\t\tthis.toShow = $([]);\r\n\t\t\t\tthis.toHide = $([]);\r\n\t\t\t},\r\n\r\n\t\t\treset: function () {\r\n\t\t\t\tthis.resetInternals();\r\n\t\t\t\tthis.currentElements = $([]);\r\n\t\t\t},\r\n\r\n\t\t\tprepareForm: function () {\r\n\t\t\t\tthis.reset();\r\n\t\t\t\tthis.toHide = this.errors().add(this.containers);\r\n\t\t\t},\r\n\r\n\t\t\tprepareElement: function (element) {\r\n\t\t\t\tthis.reset();\r\n\t\t\t\tthis.toHide = this.errorsFor(element);\r\n\t\t\t},\r\n\r\n\t\t\telementValue: function (element) {\r\n\t\t\t\tvar $element = $(element),\r\n\t\t\t\t\ttype = element.type,\r\n\t\t\t\t\tisContentEditable = typeof $element.attr(\"contenteditable\") !== \"undefined\" && $element.attr(\"contenteditable\") !== \"false\",\r\n\t\t\t\t\tval, idx;\r\n\r\n\t\t\t\tif (type === \"radio\" || type === \"checkbox\") {\r\n\t\t\t\t\treturn this.findByName(element.name).filter(\":checked\").val();\r\n\t\t\t\t} else if (type === \"number\" && typeof element.validity !== \"undefined\") {\r\n\t\t\t\t\treturn element.validity.badInput ? \"NaN\" : $element.val();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isContentEditable) {\r\n\t\t\t\t\tval = $element.text();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tval = $element.val();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (type === \"file\") {\r\n\r\n\t\t\t\t\t// Modern browser (chrome & safari)\r\n\t\t\t\t\tif (val.substr(0, 12) === \"C:\\\\fakepath\\\\\") {\r\n\t\t\t\t\t\treturn val.substr(12);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Legacy browsers\r\n\t\t\t\t\t// Unix-based path\r\n\t\t\t\t\tidx = val.lastIndexOf(\"/\");\r\n\t\t\t\t\tif (idx >= 0) {\r\n\t\t\t\t\t\treturn val.substr(idx + 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Windows-based path\r\n\t\t\t\t\tidx = val.lastIndexOf(\"\\\\\");\r\n\t\t\t\t\tif (idx >= 0) {\r\n\t\t\t\t\t\treturn val.substr(idx + 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Just the file name\r\n\t\t\t\t\treturn val;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof val === \"string\") {\r\n\t\t\t\t\treturn val.replace(/\\r/g, \"\");\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t},\r\n\r\n\t\t\tcheck: function (element) {\r\n\t\t\t\telement = this.validationTargetFor(this.clean(element));\r\n\r\n\t\t\t\tvar rules = $(element).rules(),\r\n\t\t\t\t\trulesCount = $.map(rules, function (n, i) {\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\t\t}).length,\r\n\t\t\t\t\tdependencyMismatch = false,\r\n\t\t\t\t\tval = this.elementValue(element),\r\n\t\t\t\t\tresult, method, rule, normalizer;\r\n\r\n\t\t\t\t// Prioritize the local normalizer defined for this element over the global one\r\n\t\t\t\t// if the former exists, otherwise user the global one in case it exists.\r\n\t\t\t\tif (typeof rules.normalizer === \"function\") {\r\n\t\t\t\t\tnormalizer = rules.normalizer;\r\n\t\t\t\t} else if (typeof this.settings.normalizer === \"function\") {\r\n\t\t\t\t\tnormalizer = this.settings.normalizer;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If normalizer is defined, then call it to retreive the changed value instead\r\n\t\t\t\t// of using the real one.\r\n\t\t\t\t// Note that `this` in the normalizer is `element`.\r\n\t\t\t\tif (normalizer) {\r\n\t\t\t\t\tval = normalizer.call(element, val);\r\n\r\n\t\t\t\t\t// Delete the normalizer from rules to avoid treating it as a pre-defined method.\r\n\t\t\t\t\tdelete rules.normalizer;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (method in rules) {\r\n\t\t\t\t\trule = { method: method, parameters: rules[method] };\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tresult = $.validator.methods[method].call(this, val, element, rule.parameters);\r\n\r\n\t\t\t\t\t\t// If a method indicates that the field is optional and therefore valid,\r\n\t\t\t\t\t\t// don't mark it as valid when there are no other rules\r\n\t\t\t\t\t\tif (result === \"dependency-mismatch\" && rulesCount === 1) {\r\n\t\t\t\t\t\t\tdependencyMismatch = true;\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdependencyMismatch = false;\r\n\r\n\t\t\t\t\t\tif (result === \"pending\") {\r\n\t\t\t\t\t\t\tthis.toHide = this.toHide.not(this.errorsFor(element));\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (!result) {\r\n\t\t\t\t\t\t\tthis.formatAndAdd(element, rule);\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tif (this.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.log(\"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (e instanceof TypeError) {\r\n\t\t\t\t\t\t\te.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthrow e;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (dependencyMismatch) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.objectLength(rules)) {\r\n\t\t\t\t\tthis.successList.push(element);\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\r\n\t\t\t// Return the custom message for the given element and validation method\r\n\t\t\t// specified in the element's HTML5 data attribute\r\n\t\t\t// return the generic message if present and no method specific message is present\r\n\t\t\tcustomDataMessage: function (element, method) {\r\n\t\t\t\treturn $(element).data(\"msg\" + method.charAt(0).toUpperCase() +\r\n\t\t\t\t\tmethod.substring(1).toLowerCase()) || $(element).data(\"msg\");\r\n\t\t\t},\r\n\r\n\t\t\t// Return the custom message for the given element name and validation method\r\n\t\t\tcustomMessage: function (name, method) {\r\n\t\t\t\tvar m = this.settings.messages[name];\r\n\t\t\t\treturn m && (m.constructor === String ? m : m[method]);\r\n\t\t\t},\r\n\r\n\t\t\t// Return the first defined argument, allowing empty strings\r\n\t\t\tfindDefined: function () {\r\n\t\t\t\tfor (var i = 0; i < arguments.length; i++) {\r\n\t\t\t\t\tif (arguments[i] !== undefined) {\r\n\t\t\t\t\t\treturn arguments[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t},\r\n\r\n\t\t\t// The second parameter 'rule' used to be a string, and extended to an object literal\r\n\t\t\t// of the following form:\r\n\t\t\t// rule = {\r\n\t\t\t// method: \"method name\",\r\n\t\t\t// parameters: \"the given method parameters\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// The old behavior still supported, kept to maintain backward compatibility with\r\n\t\t\t// old code, and will be removed in the next major release.\r\n\t\t\tdefaultMessage: function (element, rule) {\r\n\t\t\t\tif (typeof rule === \"string\") {\r\n\t\t\t\t\trule = { method: rule };\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar message = this.findDefined(\r\n\t\t\t\t\tthis.customMessage(element.name, rule.method),\r\n\t\t\t\t\tthis.customDataMessage(element, rule.method),\r\n\r\n\t\t\t\t\t// 'title' is never undefined, so handle empty string as undefined\r\n\t\t\t\t\t!this.settings.ignoreTitle && element.title || undefined,\r\n\t\t\t\t\t$.validator.messages[rule.method],\r\n\t\t\t\t\t\"Warning: No message defined for \" + element.name + \"\"\r\n\t\t\t\t),\r\n\t\t\t\t\ttheregex = /\\$?\\{(\\d+)\\}/g;\r\n\t\t\t\tif (typeof message === \"function\") {\r\n\t\t\t\t\tmessage = message.call(this, rule.parameters, element);\r\n\t\t\t\t} else if (theregex.test(message)) {\r\n\t\t\t\t\tmessage = $.validator.format(message.replace(theregex, \"{$1}\"), rule.parameters);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn message;\r\n\t\t\t},\r\n\r\n\t\t\tformatAndAdd: function (element, rule) {\r\n\t\t\t\tvar message = this.defaultMessage(element, rule);\r\n\r\n\t\t\t\tthis.errorList.push({\r\n\t\t\t\t\tmessage: message,\r\n\t\t\t\t\telement: element,\r\n\t\t\t\t\tmethod: rule.method\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.errorMap[element.name] = message;\r\n\t\t\t\tthis.submitted[element.name] = message;\r\n\t\t\t},\r\n\r\n\t\t\taddWrapper: function (toToggle) {\r\n\t\t\t\tif (this.settings.wrapper) {\r\n\t\t\t\t\ttoToggle = toToggle.add(toToggle.parent(this.settings.wrapper));\r\n\t\t\t\t}\r\n\t\t\t\treturn toToggle;\r\n\t\t\t},\r\n\r\n\t\t\tdefaultShowErrors: function () {\r\n\t\t\t\tvar i, elements, error;\r\n\t\t\t\tfor (i = 0; this.errorList[i]; i++) {\r\n\t\t\t\t\terror = this.errorList[i];\r\n\t\t\t\t\tif (this.settings.highlight) {\r\n\t\t\t\t\t\tthis.settings.highlight.call(this, error.element, this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.showLabel(error.element, error.message);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.errorList.length) {\r\n\t\t\t\t\tthis.toShow = this.toShow.add(this.containers);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.success) {\r\n\t\t\t\t\tfor (i = 0; this.successList[i]; i++) {\r\n\t\t\t\t\t\tthis.showLabel(this.successList[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\tfor (i = 0, elements = this.validElements(); elements[i]; i++) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, elements[i], this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.toHide = this.toHide.not(this.toShow);\r\n\t\t\t\tthis.hideErrors();\r\n\t\t\t\tthis.addWrapper(this.toShow).show();\r\n\t\t\t},\r\n\r\n\t\t\tvalidElements: function () {\r\n\t\t\t\treturn this.currentElements.not(this.invalidElements());\r\n\t\t\t},\r\n\r\n\t\t\tinvalidElements: function () {\r\n\t\t\t\treturn $(this.errorList).map(function () {\r\n\t\t\t\t\treturn this.element;\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tshowLabel: function (element, message) {\r\n\t\t\t\tvar place, group, errorID, v,\r\n\t\t\t\t\terror = this.errorsFor(element),\r\n\t\t\t\t\telementID = this.idOrName(element),\r\n\t\t\t\t\tdescribedBy = $(element).attr(\"aria-describedby\");\r\n\r\n\t\t\t\tif (error.length) {\r\n\r\n\t\t\t\t\t// Refresh error/success class\r\n\t\t\t\t\terror.removeClass(this.settings.validClass).addClass(this.settings.errorClass);\r\n\r\n\t\t\t\t\t// Replace message on existing label\r\n\t\t\t\t\terror.html(message);\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// Create error element\r\n\t\t\t\t\terror = $(\"<\" + this.settings.errorElement + \">\")\r\n\t\t\t\t\t\t.attr(\"id\", elementID + \"-error\")\r\n\t\t\t\t\t\t.addClass(this.settings.errorClass)\r\n\t\t\t\t\t\t.html(message || \"\");\r\n\r\n\t\t\t\t\t// Maintain reference to the element to be placed into the DOM\r\n\t\t\t\t\tplace = error;\r\n\t\t\t\t\tif (this.settings.wrapper) {\r\n\r\n\t\t\t\t\t\t// Make sure the element is visible, even in IE\r\n\t\t\t\t\t\t// actually showing the wrapped element is handled elsewhere\r\n\t\t\t\t\t\tplace = error.hide().show().wrap(\"<\" + this.settings.wrapper + \"/>\").parent();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.labelContainer.length) {\r\n\t\t\t\t\t\tthis.labelContainer.append(place);\r\n\t\t\t\t\t} else if (this.settings.errorPlacement) {\r\n\t\t\t\t\t\tthis.settings.errorPlacement.call(this, place, $(element));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tplace.insertAfter(element);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Link error back to the element\r\n\t\t\t\t\tif (error.is(\"label\")) {\r\n\r\n\t\t\t\t\t\t// If the error is a label, then associate using 'for'\r\n\t\t\t\t\t\terror.attr(\"for\", elementID);\r\n\r\n\t\t\t\t\t\t// If the element is not a child of an associated label, then it's necessary\r\n\t\t\t\t\t\t// to explicitly apply aria-describedby\r\n\t\t\t\t\t} else if (error.parents(\"label[for='\" + this.escapeCssMeta(elementID) + \"']\").length === 0) {\r\n\t\t\t\t\t\terrorID = error.attr(\"id\");\r\n\r\n\t\t\t\t\t\t// Respect existing non-error aria-describedby\r\n\t\t\t\t\t\tif (!describedBy) {\r\n\t\t\t\t\t\t\tdescribedBy = errorID;\r\n\t\t\t\t\t\t} else if (!describedBy.match(new RegExp(\"\\\\b\" + this.escapeCssMeta(errorID) + \"\\\\b\"))) {\r\n\r\n\t\t\t\t\t\t\t// Add to end of list if not already present\r\n\t\t\t\t\t\t\tdescribedBy += \" \" + errorID;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(element).attr(\"aria-describedby\", describedBy);\r\n\r\n\t\t\t\t\t\t// If this element is grouped, then assign to all elements in the same group\r\n\t\t\t\t\t\tgroup = this.groups[element.name];\r\n\t\t\t\t\t\tif (group) {\r\n\t\t\t\t\t\t\tv = this;\r\n\t\t\t\t\t\t\t$.each(v.groups, function (name, testgroup) {\r\n\t\t\t\t\t\t\t\tif (testgroup === group) {\r\n\t\t\t\t\t\t\t\t\t$(\"[name='\" + v.escapeCssMeta(name) + \"']\", v.currentForm)\r\n\t\t\t\t\t\t\t\t\t\t.attr(\"aria-describedby\", error.attr(\"id\"));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (!message && this.settings.success) {\r\n\t\t\t\t\terror.text(\"\");\r\n\t\t\t\t\tif (typeof this.settings.success === \"string\") {\r\n\t\t\t\t\t\terror.addClass(this.settings.success);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.settings.success(error, element);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.toShow = this.toShow.add(error);\r\n\t\t\t},\r\n\r\n\t\t\terrorsFor: function (element) {\r\n\t\t\t\tvar name = this.escapeCssMeta(this.idOrName(element)),\r\n\t\t\t\t\tdescriber = $(element).attr(\"aria-describedby\"),\r\n\t\t\t\t\tselector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\";\r\n\r\n\t\t\t\t// 'aria-describedby' should directly reference the error element\r\n\t\t\t\tif (describer) {\r\n\t\t\t\t\tselector = selector + \", #\" + this.escapeCssMeta(describer)\r\n\t\t\t\t\t\t.replace(/\\s+/g, \", #\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.errors()\r\n\t\t\t\t\t.filter(selector);\r\n\t\t\t},\r\n\r\n\t\t\t// See https://api.jquery.com/category/selectors/, for CSS\r\n\t\t\t// meta-characters that should be escaped in order to be used with JQuery\r\n\t\t\t// as a literal part of a name/id or any selector.\r\n\t\t\tescapeCssMeta: function (string) {\r\n\t\t\t\treturn string.replace(/([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\");\r\n\t\t\t},\r\n\r\n\t\t\tidOrName: function (element) {\r\n\t\t\t\treturn this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);\r\n\t\t\t},\r\n\r\n\t\t\tvalidationTargetFor: function (element) {\r\n\r\n\t\t\t\t// If radio/checkbox, validate first element in group instead\r\n\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\telement = this.findByName(element.name);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Always apply ignore filter\r\n\t\t\t\treturn $(element).not(this.settings.ignore)[0];\r\n\t\t\t},\r\n\r\n\t\t\tcheckable: function (element) {\r\n\t\t\t\treturn (/radio|checkbox/i).test(element.type);\r\n\t\t\t},\r\n\r\n\t\t\tfindByName: function (name) {\r\n\t\t\t\treturn $(this.currentForm).find(\"[name='\" + this.escapeCssMeta(name) + \"']\");\r\n\t\t\t},\r\n\r\n\t\t\tgetLength: function (value, element) {\r\n\t\t\t\tswitch (element.nodeName.toLowerCase()) {\r\n\t\t\t\t\tcase \"select\":\r\n\t\t\t\t\t\treturn $(\"option:selected\", element).length;\r\n\t\t\t\t\tcase \"input\":\r\n\t\t\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\t\t\treturn this.findByName(element.name).filter(\":checked\").length;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn value.length;\r\n\t\t\t},\r\n\r\n\t\t\tdepend: function (param, element) {\r\n\t\t\t\treturn this.dependTypes[typeof param] ? this.dependTypes[typeof param](param, element) : true;\r\n\t\t\t},\r\n\r\n\t\t\tdependTypes: {\r\n\t\t\t\t\"boolean\": function (param) {\r\n\t\t\t\t\treturn param;\r\n\t\t\t\t},\r\n\t\t\t\t\"string\": function (param, element) {\r\n\t\t\t\t\treturn !!$(param, element.form).length;\r\n\t\t\t\t},\r\n\t\t\t\t\"function\": function (param, element) {\r\n\t\t\t\t\treturn param(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\toptional: function (element) {\r\n\t\t\t\tvar val = this.elementValue(element);\r\n\t\t\t\treturn !$.validator.methods.required.call(this, val, element) && \"dependency-mismatch\";\r\n\t\t\t},\r\n\r\n\t\t\tstartRequest: function (element) {\r\n\t\t\t\tif (!this.pending[element.name]) {\r\n\t\t\t\t\tthis.pendingRequest++;\r\n\t\t\t\t\t$(element).addClass(this.settings.pendingClass);\r\n\t\t\t\t\tthis.pending[element.name] = true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tstopRequest: function (element, valid) {\r\n\t\t\t\tthis.pendingRequest--;\r\n\r\n\t\t\t\t// Sometimes synchronization fails, make sure pendingRequest is never < 0\r\n\t\t\t\tif (this.pendingRequest < 0) {\r\n\t\t\t\t\tthis.pendingRequest = 0;\r\n\t\t\t\t}\r\n\t\t\t\tdelete this.pending[element.name];\r\n\t\t\t\t$(element).removeClass(this.settings.pendingClass);\r\n\t\t\t\tif (valid && this.pendingRequest === 0 && this.formSubmitted && this.form()) {\r\n\t\t\t\t\t$(this.currentForm).submit();\r\n\r\n\t\t\t\t\t// Remove the hidden input that was used as a replacement for the\r\n\t\t\t\t\t// missing submit button. The hidden input is added by `handle()`\r\n\t\t\t\t\t// to ensure that the value of the used submit button is passed on\r\n\t\t\t\t\t// for scripted submits triggered by this method\r\n\t\t\t\t\tif (this.submitButton) {\r\n\t\t\t\t\t\t$(\"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm).remove();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.formSubmitted = false;\r\n\t\t\t\t} else if (!valid && this.pendingRequest === 0 && this.formSubmitted) {\r\n\t\t\t\t\t$(this.currentForm).triggerHandler(\"invalid-form\", [this]);\r\n\t\t\t\t\tthis.formSubmitted = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tpreviousValue: function (element, method) {\r\n\t\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\r\n\r\n\t\t\t\treturn $.data(element, \"previousValue\") || $.data(element, \"previousValue\", {\r\n\t\t\t\t\told: null,\r\n\t\t\t\t\tvalid: true,\r\n\t\t\t\t\tmessage: this.defaultMessage(element, { method: method })\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t// Cleans up all forms and elements, removes validator-specific events\r\n\t\t\tdestroy: function () {\r\n\t\t\t\tthis.resetForm();\r\n\r\n\t\t\t\t$(this.currentForm)\r\n\t\t\t\t\t.off(\".validate\")\r\n\t\t\t\t\t.removeData(\"validator\")\r\n\t\t\t\t\t.find(\".validate-equalTo-blur\")\r\n\t\t\t\t\t.off(\".validate-equalTo\")\r\n\t\t\t\t\t.removeClass(\"validate-equalTo-blur\")\r\n\t\t\t\t\t.find(\".validate-lessThan-blur\")\r\n\t\t\t\t\t.off(\".validate-lessThan\")\r\n\t\t\t\t\t.removeClass(\"validate-lessThan-blur\")\r\n\t\t\t\t\t.find(\".validate-lessThanEqual-blur\")\r\n\t\t\t\t\t.off(\".validate-lessThanEqual\")\r\n\t\t\t\t\t.removeClass(\"validate-lessThanEqual-blur\")\r\n\t\t\t\t\t.find(\".validate-greaterThanEqual-blur\")\r\n\t\t\t\t\t.off(\".validate-greaterThanEqual\")\r\n\t\t\t\t\t.removeClass(\"validate-greaterThanEqual-blur\")\r\n\t\t\t\t\t.find(\".validate-greaterThan-blur\")\r\n\t\t\t\t\t.off(\".validate-greaterThan\")\r\n\t\t\t\t\t.removeClass(\"validate-greaterThan-blur\");\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t\tclassRuleSettings: {\r\n\t\t\trequired: { required: true },\r\n\t\t\temail: { email: true },\r\n\t\t\turl: { url: true },\r\n\t\t\tdate: { date: true },\r\n\t\t\tdateISO: { dateISO: true },\r\n\t\t\tnumber: { number: true },\r\n\t\t\tdigits: { digits: true },\r\n\t\t\tcreditcard: { creditcard: true }\r\n\t\t},\r\n\r\n\t\taddClassRules: function (className, rules) {\r\n\t\t\tif (className.constructor === String) {\r\n\t\t\t\tthis.classRuleSettings[className] = rules;\r\n\t\t\t} else {\r\n\t\t\t\t$.extend(this.classRuleSettings, className);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclassRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\tclasses = $(element).attr(\"class\");\r\n\r\n\t\t\tif (classes) {\r\n\t\t\t\t$.each(classes.split(\" \"), function () {\r\n\t\t\t\t\tif (this in $.validator.classRuleSettings) {\r\n\t\t\t\t\t\t$.extend(rules, $.validator.classRuleSettings[this]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tnormalizeAttributeRule: function (rules, type, method, value) {\r\n\r\n\t\t\t// Convert the value to a number for number inputs, and for text for backwards compability\r\n\t\t\t// allows type=\"date\" and others to be compared as strings\r\n\t\t\tif (/min|max|step/.test(method) && (type === null || /number|range|text/.test(type))) {\r\n\t\t\t\tvalue = Number(value);\r\n\r\n\t\t\t\t// Support Opera Mini, which returns NaN for undefined minlength\r\n\t\t\t\tif (isNaN(value)) {\r\n\t\t\t\t\tvalue = undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (value || value === 0) {\r\n\t\t\t\trules[method] = value;\r\n\t\t\t} else if (type === method && type !== \"range\") {\r\n\r\n\t\t\t\t// Exception: the jquery validate 'range' method\r\n\t\t\t\t// does not test for the html5 'range' type\r\n\t\t\t\trules[method] = true;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tattributeRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\t$element = $(element),\r\n\t\t\t\ttype = element.getAttribute(\"type\"),\r\n\t\t\t\tmethod, value;\r\n\r\n\t\t\tfor (method in $.validator.methods) {\r\n\r\n\t\t\t\t// Support for in both html5 and older browsers\r\n\t\t\t\tif (method === \"required\") {\r\n\t\t\t\t\tvalue = element.getAttribute(method);\r\n\r\n\t\t\t\t\t// Some browsers return an empty string for the required attribute\r\n\t\t\t\t\t// and non-HTML5 browsers might have required=\"\" markup\r\n\t\t\t\t\tif (value === \"\") {\r\n\t\t\t\t\t\tvalue = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Force non-HTML5 browsers to return bool\r\n\t\t\t\t\tvalue = !!value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvalue = $element.attr(method);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.normalizeAttributeRule(rules, type, method, value);\r\n\t\t\t}\r\n\r\n\t\t\t// 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\r\n\t\t\tif (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {\r\n\t\t\t\tdelete rules.maxlength;\r\n\t\t\t}\r\n\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tdataRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\t$element = $(element),\r\n\t\t\t\ttype = element.getAttribute(\"type\"),\r\n\t\t\t\tmethod, value;\r\n\r\n\t\t\tfor (method in $.validator.methods) {\r\n\t\t\t\tvalue = $element.data(\"rule\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase());\r\n\r\n\t\t\t\t// Cast empty attributes like `data-rule-required` to `true`\r\n\t\t\t\tif (value === \"\") {\r\n\t\t\t\t\tvalue = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.normalizeAttributeRule(rules, type, method, value);\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tstaticRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\tvalidator = $.data(element.form, \"validator\");\r\n\r\n\t\t\tif (validator.settings.rules) {\r\n\t\t\t\trules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tnormalizeRules: function (rules, element) {\r\n\r\n\t\t\t// Handle dependency check\r\n\t\t\t$.each(rules, function (prop, val) {\r\n\r\n\t\t\t\t// Ignore rule when param is explicitly false, eg. required:false\r\n\t\t\t\tif (val === false) {\r\n\t\t\t\t\tdelete rules[prop];\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (val.param || val.depends) {\r\n\t\t\t\t\tvar keepRule = true;\r\n\t\t\t\t\tswitch (typeof val.depends) {\r\n\t\t\t\t\t\tcase \"string\":\r\n\t\t\t\t\t\t\tkeepRule = !!$(val.depends, element.form).length;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"function\":\r\n\t\t\t\t\t\t\tkeepRule = val.depends.call(element, element);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (keepRule) {\r\n\t\t\t\t\t\trules[prop] = val.param !== undefined ? val.param : true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$.data(element.form, \"validator\").resetElements($(element));\r\n\t\t\t\t\t\tdelete rules[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Evaluate parameters\r\n\t\t\t$.each(rules, function (rule, parameter) {\r\n\t\t\t\trules[rule] = typeof parameter === \"function\" && rule !== \"normalizer\" ? parameter(element) : parameter;\r\n\t\t\t});\r\n\r\n\t\t\t// Clean number parameters\r\n\t\t\t$.each([\"minlength\", \"maxlength\"], function () {\r\n\t\t\t\tif (rules[this]) {\r\n\t\t\t\t\trules[this] = Number(rules[this]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$.each([\"rangelength\", \"range\"], function () {\r\n\t\t\t\tvar parts;\r\n\t\t\t\tif (rules[this]) {\r\n\t\t\t\t\tif (Array.isArray(rules[this])) {\r\n\t\t\t\t\t\trules[this] = [Number(rules[this][0]), Number(rules[this][1])];\r\n\t\t\t\t\t} else if (typeof rules[this] === \"string\") {\r\n\t\t\t\t\t\tparts = rules[this].replace(/[\\[\\]]/g, \"\").split(/[\\s,]+/);\r\n\t\t\t\t\t\trules[this] = [Number(parts[0]), Number(parts[1])];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif ($.validator.autoCreateRanges) {\r\n\r\n\t\t\t\t// Auto-create ranges\r\n\t\t\t\tif (rules.min != null && rules.max != null) {\r\n\t\t\t\t\trules.range = [rules.min, rules.max];\r\n\t\t\t\t\tdelete rules.min;\r\n\t\t\t\t\tdelete rules.max;\r\n\t\t\t\t}\r\n\t\t\t\tif (rules.minlength != null && rules.maxlength != null) {\r\n\t\t\t\t\trules.rangelength = [rules.minlength, rules.maxlength];\r\n\t\t\t\t\tdelete rules.minlength;\r\n\t\t\t\t\tdelete rules.maxlength;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\t// Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\r\n\t\tnormalizeRule: function (data) {\r\n\t\t\tif (typeof data === \"string\") {\r\n\t\t\t\tvar transformed = {};\r\n\t\t\t\t$.each(data.split(/\\s/), function () {\r\n\t\t\t\t\ttransformed[this] = true;\r\n\t\t\t\t});\r\n\t\t\t\tdata = transformed;\r\n\t\t\t}\r\n\t\t\treturn data;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.addMethod/\r\n\t\taddMethod: function (name, method, message) {\r\n\t\t\t$.validator.methods[name] = method;\r\n\t\t\t$.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];\r\n\t\t\tif (method.length < 3) {\r\n\t\t\t\t$.validator.addClassRules(name, $.validator.normalizeRule(name));\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.methods/\r\n\t\tmethods: {\r\n\r\n\t\t\t// https://jqueryvalidation.org/required-method/\r\n\t\t\trequired: function (value, element, param) {\r\n\r\n\t\t\t\t// Check if dependency is met\r\n\t\t\t\tif (!this.depend(param, element)) {\r\n\t\t\t\t\treturn \"dependency-mismatch\";\r\n\t\t\t\t}\r\n\t\t\t\tif (element.nodeName.toLowerCase() === \"select\") {\r\n\r\n\t\t\t\t\t// Could be an array for select-multiple or a string, both are fine this way\r\n\t\t\t\t\tvar val = $(element).val();\r\n\t\t\t\t\treturn val && val.length > 0;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\treturn this.getLength(value, element) > 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn value !== undefined && value !== null && value.length > 0;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/email-method/\r\n\t\t\temail: function (value, element) {\r\n\r\n\t\t\t\t// From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\r\n\t\t\t\t// Retrieved 2014-01-14\r\n\t\t\t\t// If you have a problem with this implementation, report a bug against the above spec\r\n\t\t\t\t// Or use custom methods to implement your own email validation\r\n\t\t\t\treturn this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/url-method/\r\n\t\t\turl: function (value, element) {\r\n\r\n\t\t\t\t// Copyright (c) 2010-2013 Diego Perini, MIT licensed\r\n\t\t\t\t// https://gist.github.com/dperini/729294\r\n\t\t\t\t// see also https://mathiasbynens.be/demo/url-regex\r\n\t\t\t\t// modified to allow protocol-relative URLs\r\n\t\t\t\treturn this.optional(element) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/date-method/\r\n\t\t\tdate: (function () {\r\n\t\t\t\tvar called = false;\r\n\r\n\t\t\t\treturn function (value, element) {\r\n\t\t\t\t\tif (!called) {\r\n\t\t\t\t\t\tcalled = true;\r\n\t\t\t\t\t\tif (this.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.warn(\r\n\t\t\t\t\t\t\t\t\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" +\r\n\t\t\t\t\t\t\t\t\"Please don't use it, since it relies on the Date constructor, which\\n\" +\r\n\t\t\t\t\t\t\t\t\"behaves very differently across browsers and locales. Use `dateISO`\\n\" +\r\n\t\t\t\t\t\t\t\t\"instead or one of the locale specific methods in `localizations/`\\n\" +\r\n\t\t\t\t\t\t\t\t\"and `additional-methods.js`.\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());\r\n\t\t\t\t};\r\n\t\t\t}()),\r\n\r\n\t\t\t// https://jqueryvalidation.org/dateISO-method/\r\n\t\t\tdateISO: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/number-method/\r\n\t\t\tnumber: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/digits-method/\r\n\t\t\tdigits: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^\\d+$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/minlength-method/\r\n\t\t\tminlength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || length >= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/maxlength-method/\r\n\t\t\tmaxlength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || length <= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/rangelength-method/\r\n\t\t\trangelength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || (length >= param[0] && length <= param[1]);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/min-method/\r\n\t\t\tmin: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || value >= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/max-method/\r\n\t\t\tmax: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || value <= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/range-method/\r\n\t\t\trange: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || (value >= param[0] && value <= param[1]);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/step-method/\r\n\t\t\tstep: function (value, element, param) {\r\n\t\t\t\tvar type = $(element).attr(\"type\"),\r\n\t\t\t\t\terrorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\r\n\t\t\t\t\tsupportedTypes = [\"text\", \"number\", \"range\"],\r\n\t\t\t\t\tre = new RegExp(\"\\\\b\" + type + \"\\\\b\"),\r\n\t\t\t\t\tnotSupported = type && !re.test(supportedTypes.join()),\r\n\t\t\t\t\tdecimalPlaces = function (num) {\r\n\t\t\t\t\t\tvar match = (\"\" + num).match(/(?:\\.(\\d+))?$/);\r\n\t\t\t\t\t\tif (!match) {\r\n\t\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Number of digits right of decimal point.\r\n\t\t\t\t\t\treturn match[1] ? match[1].length : 0;\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttoInt = function (num) {\r\n\t\t\t\t\t\treturn Math.round(num * Math.pow(10, decimals));\r\n\t\t\t\t\t},\r\n\t\t\t\t\tvalid = true,\r\n\t\t\t\t\tdecimals;\r\n\r\n\t\t\t\t// Works only for text, number and range input types\r\n\t\t\t\t// TODO find a way to support input types date, datetime, datetime-local, month, time and week\r\n\t\t\t\tif (notSupported) {\r\n\t\t\t\t\tthrow new Error(errorMessage);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdecimals = decimalPlaces(param);\r\n\r\n\t\t\t\t// Value can't have too many decimals\r\n\t\t\t\tif (decimalPlaces(value) > decimals || toInt(value) % toInt(param) !== 0) {\r\n\t\t\t\t\tvalid = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn this.optional(element) || valid;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/equalTo-method/\r\n\t\t\tequalTo: function (value, element, param) {\r\n\r\n\t\t\t\t// Bind to the blur event of the target in order to revalidate whenever the target field is updated\r\n\t\t\t\tvar target = $(param);\r\n\t\t\t\tif (this.settings.onfocusout && target.not(\".validate-equalTo-blur\").length) {\r\n\t\t\t\t\ttarget.addClass(\"validate-equalTo-blur\").on(\"blur.validate-equalTo\", function () {\r\n\t\t\t\t\t\t$(element).valid();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn value === target.val();\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/remote-method/\r\n\t\t\tremote: function (value, element, param, method) {\r\n\t\t\t\tif (this.optional(element)) {\r\n\t\t\t\t\treturn \"dependency-mismatch\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\r\n\r\n\t\t\t\tvar previous = this.previousValue(element, method),\r\n\t\t\t\t\tvalidator, data, optionDataString;\r\n\r\n\t\t\t\tif (!this.settings.messages[element.name]) {\r\n\t\t\t\t\tthis.settings.messages[element.name] = {};\r\n\t\t\t\t}\r\n\t\t\t\tprevious.originalMessage = previous.originalMessage || this.settings.messages[element.name][method];\r\n\t\t\t\tthis.settings.messages[element.name][method] = previous.message;\r\n\r\n\t\t\t\tparam = typeof param === \"string\" && { url: param } || param;\r\n\t\t\t\toptionDataString = $.param($.extend({ data: value }, param.data));\r\n\t\t\t\tif (previous.old === optionDataString) {\r\n\t\t\t\t\treturn previous.valid;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprevious.old = optionDataString;\r\n\t\t\t\tvalidator = this;\r\n\t\t\t\tthis.startRequest(element);\r\n\t\t\t\tdata = {};\r\n\t\t\t\tdata[element.name] = value;\r\n\t\t\t\t$.ajax($.extend(true, {\r\n\t\t\t\t\tmode: \"abort\",\r\n\t\t\t\t\tport: \"validate\" + element.name,\r\n\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\tdata: data,\r\n\t\t\t\t\tcontext: validator.currentForm,\r\n\t\t\t\t\tsuccess: function (response) {\r\n\t\t\t\t\t\tvar valid = response === true || response === \"true\",\r\n\t\t\t\t\t\t\terrors, message, submitted;\r\n\r\n\t\t\t\t\t\tvalidator.settings.messages[element.name][method] = previous.originalMessage;\r\n\t\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t\tsubmitted = validator.formSubmitted;\r\n\t\t\t\t\t\t\tvalidator.resetInternals();\r\n\t\t\t\t\t\t\tvalidator.toHide = validator.errorsFor(element);\r\n\t\t\t\t\t\t\tvalidator.formSubmitted = submitted;\r\n\t\t\t\t\t\t\tvalidator.successList.push(element);\r\n\t\t\t\t\t\t\tvalidator.invalid[element.name] = false;\r\n\t\t\t\t\t\t\tvalidator.showErrors();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\terrors = {};\r\n\t\t\t\t\t\t\tmessage = response || validator.defaultMessage(element, { method: method, parameters: value });\r\n\t\t\t\t\t\t\terrors[element.name] = previous.message = message;\r\n\t\t\t\t\t\t\tvalidator.invalid[element.name] = true;\r\n\t\t\t\t\t\t\tvalidator.showErrors(errors);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprevious.valid = valid;\r\n\t\t\t\t\t\tvalidator.stopRequest(element, valid);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, param));\r\n\t\t\t\treturn \"pending\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t});\r\n\r\n\t// Ajax mode: abort\r\n\t// usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\r\n\t// if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\r\n\r\n\tvar pendingRequests = {},\r\n\t\tajax;\r\n\r\n\t// Use a prefilter if available (1.5+)\r\n\tif ($.ajaxPrefilter) {\r\n\t\t$.ajaxPrefilter(function (settings, _, xhr) {\r\n\t\t\tvar port = settings.port;\r\n\t\t\tif (settings.mode === \"abort\") {\r\n\t\t\t\tif (pendingRequests[port]) {\r\n\t\t\t\t\tpendingRequests[port].abort();\r\n\t\t\t\t}\r\n\t\t\t\tpendingRequests[port] = xhr;\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\r\n\t\t// Proxy ajax\r\n\t\tajax = $.ajax;\r\n\t\t$.ajax = function (settings) {\r\n\t\t\tvar mode = (\"mode\" in settings ? settings : $.ajaxSettings).mode,\r\n\t\t\t\tport = (\"port\" in settings ? settings : $.ajaxSettings).port;\r\n\t\t\tif (mode === \"abort\") {\r\n\t\t\t\tif (pendingRequests[port]) {\r\n\t\t\t\t\tpendingRequests[port].abort();\r\n\t\t\t\t}\r\n\t\t\t\tpendingRequests[port] = ajax.apply(this, arguments);\r\n\t\t\t\treturn pendingRequests[port];\r\n\t\t\t}\r\n\t\t\treturn ajax.apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\treturn $;\r\n}));","// Unobtrusive validation support library for jQuery and jQuery Validate\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// @version v3.2.12\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global document: false, jQuery: false */\r\n\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(\"jquery.validate.unobtrusive\", ['jquery-validation'], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n // CommonJS-like environments that support module.exports \r\n module.exports = factory(require('jquery-validation'));\r\n } else {\r\n // Browser global\r\n jQuery.validator.unobtrusive = factory(jQuery);\r\n }\r\n}(function ($) {\r\n var $jQval = $.validator,\r\n adapters,\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function setValidationValues(options, ruleName, value) {\r\n options.rules[ruleName] = value;\r\n if (options.message) {\r\n options.messages[ruleName] = options.message;\r\n }\r\n }\r\n\r\n function splitAndTrim(value) {\r\n return value.replace(/^\\s+|\\s+$/g, \"\").split(/\\s*,\\s*/g);\r\n }\r\n\r\n function escapeAttributeValue(value) {\r\n // As mentioned on http://api.jquery.com/category/selectors/\r\n return value.replace(/([!\"#$%&'()*+,./:;<=>?@\\[\\\\\\]^`{|}~])/g, \"\\\\$1\");\r\n }\r\n\r\n function getModelPrefix(fieldName) {\r\n return fieldName.substr(0, fieldName.lastIndexOf(\".\") + 1);\r\n }\r\n\r\n function appendModelPrefix(value, prefix) {\r\n if (value.indexOf(\"*.\") === 0) {\r\n value = value.replace(\"*.\", prefix);\r\n }\r\n return value;\r\n }\r\n\r\n function onError(error, inputElement) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-for='\" + escapeAttributeValue(inputElement[0].name) + \"']\"),\r\n replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;\r\n\r\n container.removeClass(\"field-validation-valid\").addClass(\"field-validation-error\");\r\n error.data(\"unobtrusiveContainer\", container);\r\n\r\n if (replace) {\r\n container.empty();\r\n error.removeClass(\"input-validation-error\").appendTo(container);\r\n }\r\n else {\r\n error.hide();\r\n }\r\n }\r\n\r\n function onErrors(event, validator) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-summary=true]\"),\r\n list = container.find(\"ul\");\r\n\r\n if (list && list.length && validator.errorList.length) {\r\n list.empty();\r\n container.addClass(\"validation-summary-errors\").removeClass(\"validation-summary-valid\");\r\n\r\n $.each(validator.errorList, function () {\r\n $(\"
  • \").html(this.message).appendTo(list);\r\n });\r\n }\r\n }\r\n\r\n function onSuccess(error) { // 'this' is the form element\r\n var container = error.data(\"unobtrusiveContainer\");\r\n\r\n if (container) {\r\n var replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;\r\n\r\n container.addClass(\"field-validation-valid\").removeClass(\"field-validation-error\");\r\n error.removeData(\"unobtrusiveContainer\");\r\n\r\n if (replace) {\r\n container.empty();\r\n }\r\n }\r\n }\r\n\r\n function onReset(event) { // 'this' is the form element\r\n var $form = $(this),\r\n key = '__jquery_unobtrusive_validation_form_reset';\r\n if ($form.data(key)) {\r\n return;\r\n }\r\n // Set a flag that indicates we're currently resetting the form.\r\n $form.data(key, true);\r\n try {\r\n $form.data(\"validator\").resetForm();\r\n } finally {\r\n $form.removeData(key);\r\n }\r\n\r\n $form.find(\".validation-summary-errors\")\r\n .addClass(\"validation-summary-valid\")\r\n .removeClass(\"validation-summary-errors\");\r\n $form.find(\".field-validation-error\")\r\n .addClass(\"field-validation-valid\")\r\n .removeClass(\"field-validation-error\")\r\n .removeData(\"unobtrusiveContainer\")\r\n .find(\">*\") // If we were using valmsg-replace, get the underlying error\r\n .removeData(\"unobtrusiveContainer\");\r\n }\r\n\r\n function validationInfo(form) {\r\n var $form = $(form),\r\n result = $form.data(data_validation),\r\n onResetProxy = $.proxy(onReset, form),\r\n defaultOptions = $jQval.unobtrusive.options || {},\r\n execInContext = function (name, args) {\r\n var func = defaultOptions[name];\r\n func && $.isFunction(func) && func.apply(form, args);\r\n };\r\n\r\n if (!result) {\r\n result = {\r\n options: { // options structure passed to jQuery Validate's validate() method\r\n errorClass: defaultOptions.errorClass || \"input-validation-error\",\r\n errorElement: defaultOptions.errorElement || \"span\",\r\n errorPlacement: function () {\r\n onError.apply(form, arguments);\r\n execInContext(\"errorPlacement\", arguments);\r\n },\r\n invalidHandler: function () {\r\n onErrors.apply(form, arguments);\r\n execInContext(\"invalidHandler\", arguments);\r\n },\r\n messages: {},\r\n rules: {},\r\n success: function () {\r\n onSuccess.apply(form, arguments);\r\n execInContext(\"success\", arguments);\r\n }\r\n },\r\n attachValidation: function () {\r\n $form\r\n .off(\"reset.\" + data_validation, onResetProxy)\r\n .on(\"reset.\" + data_validation, onResetProxy)\r\n .validate(this.options);\r\n },\r\n validate: function () { // a validation function that is called by unobtrusive Ajax\r\n $form.validate();\r\n return $form.valid();\r\n }\r\n };\r\n $form.data(data_validation, result);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n $jQval.unobtrusive = {\r\n adapters: [],\r\n\r\n parseElement: function (element, skipAttach) {\r\n /// \r\n /// Parses a single HTML element for unobtrusive validation attributes.\r\n /// \r\n /// The HTML element to be parsed.\r\n /// [Optional] true to skip attaching the\r\n /// validation to the form. If parsing just this single element, you should specify true.\r\n /// If parsing several elements, you should specify false, and manually attach the validation\r\n /// to the form when you are finished. The default is false.\r\n var $element = $(element),\r\n form = $element.parents(\"form\")[0],\r\n valInfo, rules, messages;\r\n\r\n if (!form) { // Cannot do client-side validation without a form\r\n return;\r\n }\r\n\r\n valInfo = validationInfo(form);\r\n valInfo.options.rules[element.name] = rules = {};\r\n valInfo.options.messages[element.name] = messages = {};\r\n\r\n $.each(this.adapters, function () {\r\n var prefix = \"data-val-\" + this.name,\r\n message = $element.attr(prefix),\r\n paramValues = {};\r\n\r\n if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)\r\n prefix += \"-\";\r\n\r\n $.each(this.params, function () {\r\n paramValues[this] = $element.attr(prefix + this);\r\n });\r\n\r\n this.adapt({\r\n element: element,\r\n form: form,\r\n message: message,\r\n params: paramValues,\r\n rules: rules,\r\n messages: messages\r\n });\r\n }\r\n });\r\n\r\n $.extend(rules, { \"__dummy__\": true });\r\n\r\n if (!skipAttach) {\r\n valInfo.attachValidation();\r\n }\r\n },\r\n\r\n parse: function (selector) {\r\n /// \r\n /// Parses all the HTML elements in the specified selector. It looks for input elements decorated\r\n /// with the [data-val=true] attribute value and enables validation according to the data-val-*\r\n /// attribute values.\r\n /// \r\n /// Any valid jQuery selector.\r\n\r\n // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one\r\n // element with data-val=true\r\n var $selector = $(selector),\r\n $forms = $selector.parents()\r\n .addBack()\r\n .filter(\"form\")\r\n .add($selector.find(\"form\"))\r\n .has(\"[data-val=true]\");\r\n\r\n $selector.find(\"[data-val=true]\").each(function () {\r\n $jQval.unobtrusive.parseElement(this, true);\r\n });\r\n\r\n $forms.each(function () {\r\n var info = validationInfo(this);\r\n if (info) {\r\n info.attachValidation();\r\n }\r\n });\r\n }\r\n };\r\n\r\n adapters = $jQval.unobtrusive.adapters;\r\n\r\n adapters.add = function (adapterName, params, fn) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] An array of parameter names (strings) that will\r\n /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and\r\n /// mmmm is the parameter name).\r\n /// The function to call, which adapts the values from the HTML\r\n /// attributes into jQuery Validate rules and/or messages.\r\n /// \r\n if (!fn) { // Called with no params, just a function\r\n fn = params;\r\n params = [];\r\n }\r\n this.push({ name: adapterName, params: params, adapt: fn });\r\n return this;\r\n };\r\n\r\n adapters.addBool = function (adapterName, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has no parameter values.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, function (options) {\r\n setValidationValues(options, ruleName || adapterName, true);\r\n });\r\n };\r\n\r\n adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and\r\n /// one for min-and-max). The HTML parameters are expected to be named -min and -max.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a minimum value.\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a maximum value.\r\n /// The name of the jQuery Validate rule to be used when you\r\n /// have both a minimum and maximum value.\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the minimum value. The default is \"min\".\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the maximum value. The default is \"max\".\r\n /// \r\n return this.add(adapterName, [minAttribute || \"min\", maxAttribute || \"max\"], function (options) {\r\n var min = options.params.min,\r\n max = options.params.max;\r\n\r\n if (min && max) {\r\n setValidationValues(options, minMaxRuleName, [min, max]);\r\n }\r\n else if (min) {\r\n setValidationValues(options, minRuleName, min);\r\n }\r\n else if (max) {\r\n setValidationValues(options, maxRuleName, max);\r\n }\r\n });\r\n };\r\n\r\n adapters.addSingleVal = function (adapterName, attribute, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has a single value.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).\r\n /// [Optional] The name of the HTML attribute that contains the value.\r\n /// The default is \"val\".\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, [attribute || \"val\"], function (options) {\r\n setValidationValues(options, ruleName || adapterName, options.params[attribute]);\r\n });\r\n };\r\n\r\n $jQval.addMethod(\"__dummy__\", function (value, element, params) {\r\n return true;\r\n });\r\n\r\n $jQval.addMethod(\"regex\", function (value, element, params) {\r\n var match;\r\n if (this.optional(element)) {\r\n return true;\r\n }\r\n\r\n match = new RegExp(params).exec(value);\r\n return (match && (match.index === 0) && (match[0].length === value.length));\r\n });\r\n\r\n $jQval.addMethod(\"nonalphamin\", function (value, element, nonalphamin) {\r\n var match;\r\n if (nonalphamin) {\r\n match = value.match(/\\W/g);\r\n match = match && match.length >= nonalphamin;\r\n }\r\n return match;\r\n });\r\n\r\n if ($jQval.methods.extension) {\r\n adapters.addSingleVal(\"accept\", \"mimtype\");\r\n adapters.addSingleVal(\"extension\", \"extension\");\r\n } else {\r\n // for backward compatibility, when the 'extension' validation method does not exist, such as with versions\r\n // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for\r\n // validating the extension, and ignore mime-type validations as they are not supported.\r\n adapters.addSingleVal(\"extension\", \"extension\", \"accept\");\r\n }\r\n // Wolimy by najpierw sprawdzać długośc ciągu\r\n adapters.addMinMax(\"length\", \"minlength\", \"maxlength\", \"rangelength\").addMinMax(\"range\", \"min\", \"max\", \"range\");\r\n adapters.addMinMax(\"minlength\", \"minlength\").addMinMax(\"maxlength\", \"minlength\", \"maxlength\");\r\n adapters.addSingleVal(\"regex\", \"pattern\");\r\n adapters.addBool(\"creditcard\").addBool(\"date\").addBool(\"digits\").addBool(\"email\").addBool(\"number\").addBool(\"url\");\r\n adapters.add(\"equalto\", [\"other\"], function (options) {\r\n var prefix = getModelPrefix(options.element.name),\r\n other = options.params.other,\r\n fullOtherName = appendModelPrefix(other, prefix),\r\n element = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(fullOtherName) + \"']\")[0];\r\n\r\n setValidationValues(options, \"equalTo\", element);\r\n });\r\n adapters.add(\"required\", function (options) {\r\n // jQuery Validate equates \"required\" with \"mandatory\" for checkbox elements\r\n if (options.element.tagName.toUpperCase() !== \"INPUT\" || options.element.type.toUpperCase() !== \"CHECKBOX\") {\r\n setValidationValues(options, \"required\", true);\r\n }\r\n });\r\n adapters.add(\"remote\", [\"url\", \"type\", \"additionalfields\"], function (options) {\r\n var value = {\r\n url: options.params.url,\r\n type: options.params.type || \"GET\",\r\n data: {}\r\n },\r\n prefix = getModelPrefix(options.element.name);\r\n\r\n $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {\r\n var paramName = appendModelPrefix(fieldName, prefix);\r\n value.data[paramName] = function () {\r\n var field = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(paramName) + \"']\");\r\n // For checkboxes and radio buttons, only pick up values from checked fields.\r\n if (field.is(\":checkbox\")) {\r\n return field.filter(\":checked\").val() || field.filter(\":hidden\").val() || '';\r\n }\r\n else if (field.is(\":radio\")) {\r\n return field.filter(\":checked\").val() || '';\r\n }\r\n return field.val();\r\n };\r\n });\r\n\r\n setValidationValues(options, \"remote\", value);\r\n });\r\n adapters.add(\"password\", [\"min\", \"nonalphamin\", \"regex\"], function (options) {\r\n if (options.params.min) {\r\n setValidationValues(options, \"minlength\", options.params.min);\r\n }\r\n if (options.params.nonalphamin) {\r\n setValidationValues(options, \"nonalphamin\", options.params.nonalphamin);\r\n }\r\n if (options.params.regex) {\r\n setValidationValues(options, \"regex\", options.params.regex);\r\n }\r\n });\r\n adapters.add(\"fileextensions\", [\"extensions\"], function (options) {\r\n setValidationValues(options, \"extension\", options.params.extensions);\r\n });\r\n\r\n $(function () {\r\n $jQval.unobtrusive.parse(document);\r\n });\r\n\r\n return $jQval.unobtrusive;\r\n}));\r\n","/*!\r\n * Globalize\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n */\r\n\r\n(function (window, undefined) {\r\n\r\n var Globalize,\r\n // private variables\r\n regexHex,\r\n regexInfinity,\r\n regexParseFloat,\r\n regexTrim,\r\n // private JavaScript utility functions\r\n arrayIndexOf,\r\n endsWith,\r\n extend,\r\n isArray,\r\n isFunction,\r\n isObject,\r\n startsWith,\r\n trim,\r\n truncate,\r\n zeroPad,\r\n // private Globalization utility functions\r\n appendPreOrPostMatch,\r\n expandFormat,\r\n formatDate,\r\n formatNumber,\r\n getTokenRegExp,\r\n getEra,\r\n getEraYear,\r\n parseExact,\r\n parseNegativePattern;\r\n\r\n // Global variable (Globalize) or CommonJS module (globalize)\r\n Globalize = function (cultureSelector) {\r\n return new Globalize.prototype.init(cultureSelector);\r\n };\r\n\r\n if (typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\") {\r\n // Assume CommonJS\r\n module.exports = Globalize;\r\n } else {\r\n // Export as global variable\r\n window.Globalize = Globalize;\r\n }\r\n\r\n Globalize.cultures = {};\r\n\r\n Globalize.prototype = {\r\n constructor: Globalize,\r\n init: function (cultureSelector) {\r\n this.cultures = Globalize.cultures;\r\n this.cultureSelector = cultureSelector;\r\n\r\n return this;\r\n }\r\n };\r\n Globalize.prototype.init.prototype = Globalize.prototype;\r\n\r\n // 1. When defining a culture, all fields are required except the ones stated as optional.\r\n // 2. Each culture should have a \".calendars\" object with at least one calendar named \"standard\"\r\n // which serves as the default calendar in use by that culture.\r\n // 3. Each culture should have a \".calendar\" object which is the current calendar being used,\r\n // it may be dynamically changed at any time to one of the calendars in \".calendars\".\r\n Globalize.cultures[\"default\"] = {\r\n // A unique name for the culture in the form -\r\n name: \"en\",\r\n // the name of the culture in the english language\r\n englishName: \"English\",\r\n // the name of the culture in its own language\r\n nativeName: \"English\",\r\n // whether the culture uses right-to-left text\r\n isRTL: false,\r\n // \"language\" is used for so-called \"specific\" cultures.\r\n // For example, the culture \"es-CL\" means \"Spanish, in Chili\".\r\n // It represents the Spanish-speaking culture as it is in Chili,\r\n // which might have different formatting rules or even translations\r\n // than Spanish in Spain. A \"neutral\" culture is one that is not\r\n // specific to a region. For example, the culture \"es\" is the generic\r\n // Spanish culture, which may be a more generalized version of the language\r\n // that may or may not be what a specific culture expects.\r\n // For a specific culture like \"es-CL\", the \"language\" field refers to the\r\n // neutral, generic culture information for the language it is using.\r\n // This is not always a simple matter of the string before the dash.\r\n // For example, the \"zh-Hans\" culture is netural (Simplified Chinese).\r\n // And the \"zh-SG\" culture is Simplified Chinese in Singapore, whose lanugage\r\n // field is \"zh-CHS\", not \"zh\".\r\n // This field should be used to navigate from a specific culture to it's\r\n // more general, neutral culture. If a culture is already as general as it\r\n // can get, the language may refer to itself.\r\n language: \"en\",\r\n // numberFormat defines general number formatting rules, like the digits in\r\n // each grouping, the group separator, and how negative numbers are displayed.\r\n numberFormat: {\r\n // [negativePattern]\r\n // Note, numberFormat.pattern has no \"positivePattern\" unlike percent and currency,\r\n // but is still defined as an array for consistency with them.\r\n // negativePattern: one of \"(n)|-n|- n|n-|n -\"\r\n pattern: [\"-n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // symbol used for positive numbers\r\n \"+\": \"+\",\r\n // symbol used for negative numbers\r\n \"-\": \"-\",\r\n // symbol used for NaN (Not-A-Number)\r\n \"NaN\": \"NaN\",\r\n // symbol used for Negative Infinity\r\n negativeInfinity: \"-Infinity\",\r\n // symbol used for Positive Infinity\r\n positiveInfinity: \"Infinity\",\r\n percent: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %\"\r\n // positivePattern: one of \"n %|n%|%n|% n\"\r\n pattern: [\"-n %\", \"n %\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // symbol used to represent a percentage\r\n symbol: \"%\"\r\n },\r\n currency: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)\"\r\n // positivePattern: one of \"$n|n$|$ n|n $\"\r\n pattern: [\"($n)\", \"$n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // symbol used to represent currency\r\n symbol: \"$\"\r\n }\r\n },\r\n // calendars defines all the possible calendars used by this culture.\r\n // There should be at least one defined with name \"standard\", and is the default\r\n // calendar used by the culture.\r\n // A calendar contains information about how dates are formatted, information about\r\n // the calendar's eras, a standard set of the date formats,\r\n // translations for day and month names, and if the calendar is not based on the Gregorian\r\n // calendar, conversion functions to and from the Gregorian calendar.\r\n calendars: {\r\n standard: {\r\n // name that identifies the type of calendar this is\r\n name: \"Gregorian_USEnglish\",\r\n // separator of parts of a date (e.g. \"/\" in 11/05/1955)\r\n \"/\": \"/\",\r\n // separator of parts of a time (e.g. \":\" in 05:44 PM)\r\n \":\": \":\",\r\n // the first day of the week (0 = Sunday, 1 = Monday, etc)\r\n firstDay: 0,\r\n days: {\r\n // full day names\r\n names: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\r\n // abbreviated day names\r\n namesAbbr: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\r\n // shortest day names\r\n namesShort: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"]\r\n },\r\n months: {\r\n // full month names (13 months for lunar calendards -- 13th month should be \"\" if not lunar)\r\n names: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\", \"\"],\r\n // abbreviated month names\r\n namesAbbr: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\", \"\"]\r\n },\r\n // AM and PM designators in one of these forms:\r\n // The usual view, and the upper and lower case versions\r\n // [ standard, lowercase, uppercase ]\r\n // The culture does not use AM or PM (likely all standard date formats use 24 hour time)\r\n // null\r\n AM: [\"AM\", \"am\", \"AM\"],\r\n PM: [\"PM\", \"pm\", \"PM\"],\r\n eras: [\r\n // eras in reverse chronological order.\r\n // name: the name of the era in this culture (e.g. A.D., C.E.)\r\n // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era.\r\n // offset: offset in years from gregorian calendar\r\n {\r\n \"name\": \"A.D.\",\r\n \"start\": null,\r\n \"offset\": 0\r\n }\r\n ],\r\n // when a two digit year is given, it will never be parsed as a four digit\r\n // year greater than this year (in the appropriate era for the culture)\r\n // Set it as a full year (e.g. 2029) or use an offset format starting from\r\n // the current year: \"+19\" would correspond to 2029 if the current year 2010.\r\n twoDigitYearMax: 2029,\r\n // set of predefined date and time patterns used by the culture\r\n // these represent the format someone in this culture would expect\r\n // to see given the portions of the date that are shown.\r\n patterns: {\r\n // short date pattern\r\n d: \"M/d/yyyy\",\r\n // long date pattern\r\n D: \"dddd, MMMM dd, yyyy\",\r\n // short time pattern\r\n t: \"h:mm tt\",\r\n // long time pattern\r\n T: \"h:mm:ss tt\",\r\n // long date, short time pattern\r\n f: \"dddd, MMMM dd, yyyy h:mm tt\",\r\n // long date, long time pattern\r\n F: \"dddd, MMMM dd, yyyy h:mm:ss tt\",\r\n // month/day pattern\r\n M: \"MMMM dd\",\r\n // month/year pattern\r\n Y: \"yyyy MMMM\",\r\n // S is a sortable format that does not vary by culture\r\n S: \"yyyy\\u0027-\\u0027MM\\u0027-\\u0027dd\\u0027T\\u0027HH\\u0027:\\u0027mm\\u0027:\\u0027ss\"\r\n }\r\n // optional fields for each calendar:\r\n /*\r\n monthsGenitive:\r\n Same as months but used when the day preceeds the month.\r\n Omit if the culture has no genitive distinction in month names.\r\n For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx\r\n convert:\r\n Allows for the support of non-gregorian based calendars. This convert object is used to\r\n to convert a date to and from a gregorian calendar date to handle parsing and formatting.\r\n The two functions:\r\n fromGregorian( date )\r\n Given the date as a parameter, return an array with parts [ year, month, day ]\r\n corresponding to the non-gregorian based year, month, and day for the calendar.\r\n toGregorian( year, month, day )\r\n Given the non-gregorian year, month, and day, return a new Date() object\r\n set to the corresponding date in the gregorian calendar.\r\n */\r\n }\r\n },\r\n // For localized strings\r\n messages: {}\r\n };\r\n\r\n Globalize.cultures[\"default\"].calendar = Globalize.cultures[\"default\"].calendars.standard;\r\n\r\n Globalize.cultures.en = Globalize.cultures[\"default\"];\r\n\r\n Globalize.cultureSelector = \"en\";\r\n\r\n //\r\n // private variables\r\n //\r\n\r\n regexHex = /^0x[a-f0-9]+$/i;\r\n regexInfinity = /^[+\\-]?infinity$/i;\r\n regexParseFloat = /^[+\\-]?\\d*\\.?\\d*(e[+\\-]?\\d+)?$/;\r\n regexTrim = /^\\s+|\\s+$/g;\r\n\r\n //\r\n // private JavaScript utility functions\r\n //\r\n\r\n arrayIndexOf = function (array, item) {\r\n if (array.indexOf) {\r\n return array.indexOf(item);\r\n }\r\n for (var i = 0, length = array.length; i < length; i++) {\r\n if (array[i] === item) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n\r\n endsWith = function (value, pattern) {\r\n return value.substr(value.length - pattern.length) === pattern;\r\n };\r\n\r\n extend = function () {\r\n var options, name, src, copy, copyIsArray, clone,\r\n target = arguments[0] || {},\r\n i = 1,\r\n length = arguments.length,\r\n deep = false;\r\n\r\n // Handle a deep copy situation\r\n if (typeof target === \"boolean\") {\r\n deep = target;\r\n target = arguments[1] || {};\r\n // skip the boolean and the target\r\n i = 2;\r\n }\r\n\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (typeof target !== \"object\" && !isFunction(target)) {\r\n target = {};\r\n }\r\n\r\n for (; i < length; i++) {\r\n // Only deal with non-null/undefined values\r\n if ((options = arguments[i]) != null) {\r\n // Extend the base object\r\n for (name in options) {\r\n src = target[name];\r\n copy = options[name];\r\n\r\n // Prevent never-ending loop\r\n if (target === copy) {\r\n continue;\r\n }\r\n\r\n // Recurse if we're merging plain objects or arrays\r\n if (deep && copy && (isObject(copy) || (copyIsArray = isArray(copy)))) {\r\n if (copyIsArray) {\r\n copyIsArray = false;\r\n clone = src && isArray(src) ? src : [];\r\n\r\n } else {\r\n clone = src && isObject(src) ? src : {};\r\n }\r\n\r\n // Never move original objects, clone them\r\n target[name] = extend(deep, clone, copy);\r\n\r\n // Don't bring in undefined values\r\n } else if (copy !== undefined) {\r\n target[name] = copy;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Return the modified object\r\n return target;\r\n };\r\n\r\n isArray = Array.isArray || function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Array]\";\r\n };\r\n\r\n isFunction = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Function]\";\r\n };\r\n\r\n isObject = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Object]\";\r\n };\r\n\r\n startsWith = function (value, pattern) {\r\n return value.indexOf(pattern) === 0;\r\n };\r\n\r\n trim = function (value) {\r\n return (value + \"\").replace(regexTrim, \"\");\r\n };\r\n\r\n truncate = function (value) {\r\n if (isNaN(value)) {\r\n return NaN;\r\n }\r\n return Math[value < 0 ? \"ceil\" : \"floor\"](value);\r\n };\r\n\r\n zeroPad = function (str, count, left) {\r\n var l;\r\n for (l = str.length; l < count; l += 1) {\r\n str = (left ? (\"0\" + str) : (str + \"0\"));\r\n }\r\n return str;\r\n };\r\n\r\n //\r\n // private Globalization utility functions\r\n //\r\n\r\n appendPreOrPostMatch = function (preMatch, strings) {\r\n // appends pre- and post- token match strings while removing escaped characters.\r\n // Returns a single quote count which is used to determine if the token occurs\r\n // in a string literal.\r\n var quoteCount = 0,\r\n escaped = false;\r\n for (var i = 0, il = preMatch.length; i < il; i++) {\r\n var c = preMatch.charAt(i);\r\n switch (c) {\r\n case \"\\'\":\r\n if (escaped) {\r\n strings.push(\"\\'\");\r\n } else {\r\n quoteCount++;\r\n }\r\n escaped = false;\r\n break;\r\n case \"\\\\\":\r\n if (escaped) {\r\n strings.push(\"\\\\\");\r\n }\r\n escaped = !escaped;\r\n break;\r\n default:\r\n strings.push(c);\r\n escaped = false;\r\n break;\r\n }\r\n }\r\n return quoteCount;\r\n };\r\n\r\n expandFormat = function (cal, format) {\r\n // expands unspecified or single character date formats into the full pattern.\r\n format = format || \"F\";\r\n var pattern,\r\n patterns = cal.patterns,\r\n len = format.length;\r\n if (len === 1) {\r\n pattern = patterns[format];\r\n if (!pattern) {\r\n throw \"Invalid date format string \\'\" + format + \"\\'.\";\r\n }\r\n format = pattern;\r\n } else if (len === 2 && format.charAt(0) === \"%\") {\r\n // %X escape format -- intended as a custom format string that is only one character, not a built-in format.\r\n format = format.charAt(1);\r\n }\r\n return format;\r\n };\r\n\r\n formatDate = function (value, format, culture) {\r\n var cal = culture.calendar,\r\n convert = cal.convert,\r\n ret;\r\n\r\n if (!format || !format.length || format === \"i\") {\r\n if (culture && culture.name.length) {\r\n if (convert) {\r\n // non-gregorian calendar, so we cannot use built-in toLocaleString()\r\n ret = formatDate(value, cal.patterns.F, culture);\r\n } else {\r\n var eraDate = new Date(value.getTime()),\r\n era = getEra(value, cal.eras);\r\n eraDate.setFullYear(getEraYear(value, cal, era));\r\n ret = eraDate.toLocaleString();\r\n }\r\n } else {\r\n ret = value.toString();\r\n }\r\n return ret;\r\n }\r\n\r\n var eras = cal.eras,\r\n sortable = format === \"s\";\r\n format = expandFormat(cal, format);\r\n\r\n // Start with an empty string\r\n ret = [];\r\n var hour,\r\n zeros = [\"0\", \"00\", \"000\"],\r\n foundDay,\r\n checkedDay,\r\n dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n converted;\r\n\r\n function padZeros(num, c) {\r\n var r, s = num + \"\";\r\n if (c > 1 && s.length < c) {\r\n r = (zeros[c - 2] + s);\r\n return r.substr(r.length - c, c);\r\n } else {\r\n r = s;\r\n }\r\n return r;\r\n }\r\n\r\n function hasDay() {\r\n if (foundDay || checkedDay) {\r\n return foundDay;\r\n }\r\n foundDay = dayPartRegExp.test(format);\r\n checkedDay = true;\r\n return foundDay;\r\n }\r\n\r\n function getPart(date, part) {\r\n if (converted) {\r\n return converted[part];\r\n }\r\n switch (part) {\r\n case 0:\r\n return date.getFullYear();\r\n case 1:\r\n return date.getMonth();\r\n case 2:\r\n return date.getDate();\r\n default:\r\n throw \"Invalid part value \" + part;\r\n }\r\n }\r\n\r\n if (!sortable && convert) {\r\n converted = convert.fromGregorian(value);\r\n }\r\n\r\n for (; ;) {\r\n // Save the current index\r\n var index = tokenRegExp.lastIndex,\r\n // Look for the next pattern\r\n ar = tokenRegExp.exec(format);\r\n\r\n // Append the text before the pattern (or the end of the string if not found)\r\n var preMatch = format.slice(index, ar ? ar.index : format.length);\r\n quoteCount += appendPreOrPostMatch(preMatch, ret);\r\n\r\n if (!ar) {\r\n break;\r\n }\r\n\r\n // do not replace any matches that occur inside a string literal.\r\n if (quoteCount % 2) {\r\n ret.push(ar[0]);\r\n continue;\r\n }\r\n\r\n var current = ar[0],\r\n clength = current.length;\r\n\r\n switch (current) {\r\n case \"ddd\":\r\n //Day of the week, as a three-letter abbreviation\r\n case \"dddd\":\r\n // Day of the week, using the full name\r\n var names = (clength === 3) ? cal.days.namesAbbr : cal.days.names;\r\n ret.push(names[value.getDay()]);\r\n break;\r\n case \"d\":\r\n // Day of month, without leading zero for single-digit days\r\n case \"dd\":\r\n // Day of month, with leading zero for single-digit days\r\n foundDay = true;\r\n ret.push(\r\n padZeros(getPart(value, 2), clength)\r\n );\r\n break;\r\n case \"MMM\":\r\n // Month, as a three-letter abbreviation\r\n case \"MMMM\":\r\n // Month, using the full name\r\n var part = getPart(value, 1);\r\n ret.push(\r\n (cal.monthsGenitive && hasDay()) ?\r\n (cal.monthsGenitive[clength === 3 ? \"namesAbbr\" : \"names\"][part]) :\r\n (cal.months[clength === 3 ? \"namesAbbr\" : \"names\"][part])\r\n );\r\n break;\r\n case \"M\":\r\n // Month, as digits, with no leading zero for single-digit months\r\n case \"MM\":\r\n // Month, as digits, with leading zero for single-digit months\r\n ret.push(\r\n padZeros(getPart(value, 1) + 1, clength)\r\n );\r\n break;\r\n case \"y\":\r\n // Year, as two digits, but with no leading zero for years less than 10\r\n case \"yy\":\r\n // Year, as two digits, with leading zero for years less than 10\r\n case \"yyyy\":\r\n // Year represented by four full digits\r\n part = converted ? converted[0] : getEraYear(value, cal, getEra(value, eras), sortable);\r\n if (clength < 4) {\r\n part = part % 100;\r\n }\r\n ret.push(\r\n padZeros(part, clength)\r\n );\r\n break;\r\n case \"h\":\r\n // Hours with no leading zero for single-digit hours, using 12-hour clock\r\n case \"hh\":\r\n // Hours with leading zero for single-digit hours, using 12-hour clock\r\n hour = value.getHours() % 12;\r\n if (hour === 0) hour = 12;\r\n ret.push(\r\n padZeros(hour, clength)\r\n );\r\n break;\r\n case \"H\":\r\n // Hours with no leading zero for single-digit hours, using 24-hour clock\r\n case \"HH\":\r\n // Hours with leading zero for single-digit hours, using 24-hour clock\r\n ret.push(\r\n padZeros(value.getHours(), clength)\r\n );\r\n break;\r\n case \"m\":\r\n // Minutes with no leading zero for single-digit minutes\r\n case \"mm\":\r\n // Minutes with leading zero for single-digit minutes\r\n ret.push(\r\n padZeros(value.getMinutes(), clength)\r\n );\r\n break;\r\n case \"s\":\r\n // Seconds with no leading zero for single-digit seconds\r\n case \"ss\":\r\n // Seconds with leading zero for single-digit seconds\r\n ret.push(\r\n padZeros(value.getSeconds(), clength)\r\n );\r\n break;\r\n case \"t\":\r\n // One character am/pm indicator (\"a\" or \"p\")\r\n case \"tt\":\r\n // Multicharacter am/pm indicator\r\n part = value.getHours() < 12 ? (cal.AM ? cal.AM[0] : \" \") : (cal.PM ? cal.PM[0] : \" \");\r\n ret.push(clength === 1 ? part.charAt(0) : part);\r\n break;\r\n case \"f\":\r\n // Deciseconds\r\n case \"ff\":\r\n // Centiseconds\r\n case \"fff\":\r\n // Milliseconds\r\n ret.push(\r\n padZeros(value.getMilliseconds(), 3).substr(0, clength)\r\n );\r\n break;\r\n case \"z\":\r\n // Time zone offset, no leading zero\r\n case \"zz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push(\r\n (hour <= 0 ? \"+\" : \"-\") + padZeros(Math.floor(Math.abs(hour)), clength)\r\n );\r\n break;\r\n case \"zzz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push(\r\n (hour <= 0 ? \"+\" : \"-\") + padZeros(Math.floor(Math.abs(hour)), 2) +\r\n // Hard coded \":\" separator, rather than using cal.TimeSeparator\r\n // Repeated here for consistency, plus \":\" was already assumed in date parsing.\r\n \":\" + padZeros(Math.abs(value.getTimezoneOffset() % 60), 2)\r\n );\r\n break;\r\n case \"g\":\r\n case \"gg\":\r\n if (cal.eras) {\r\n ret.push(\r\n cal.eras[getEra(value, eras)].name\r\n );\r\n }\r\n break;\r\n case \"/\":\r\n ret.push(cal[\"/\"]);\r\n break;\r\n default:\r\n throw \"Invalid date format pattern \\'\" + current + \"\\'.\";\r\n }\r\n }\r\n return ret.join(\"\");\r\n };\r\n\r\n // formatNumber\r\n (function () {\r\n var expandNumber;\r\n\r\n expandNumber = function (number, precision, formatInfo) {\r\n var groupSizes = formatInfo.groupSizes,\r\n curSize = groupSizes[0],\r\n curGroupIndex = 1,\r\n factor = Math.pow(10, precision),\r\n rounded = Math.round(number * factor) / factor;\r\n\r\n if (!isFinite(rounded)) {\r\n rounded = number;\r\n }\r\n number = rounded;\r\n\r\n var numberString = number + \"\",\r\n right = \"\",\r\n split = numberString.split(/e/i),\r\n exponent = split.length > 1 ? parseInt(split[1], 10) : 0;\r\n numberString = split[0];\r\n split = numberString.split(\".\");\r\n numberString = split[0];\r\n right = split.length > 1 ? split[1] : \"\";\r\n\r\n var l;\r\n if (exponent > 0) {\r\n right = zeroPad(right, exponent, false);\r\n numberString += right.slice(0, exponent);\r\n right = right.substr(exponent);\r\n } else if (exponent < 0) {\r\n exponent = -exponent;\r\n numberString = zeroPad(numberString, exponent + 1, true);\r\n right = numberString.slice(-exponent, numberString.length) + right;\r\n numberString = numberString.slice(0, -exponent);\r\n }\r\n\r\n if (precision > 0) {\r\n right = formatInfo[\".\"] +\r\n ((right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision));\r\n } else {\r\n right = \"\";\r\n }\r\n\r\n var stringIndex = numberString.length - 1,\r\n sep = formatInfo[\",\"],\r\n ret = \"\";\r\n\r\n while (stringIndex >= 0) {\r\n if (curSize === 0 || curSize > stringIndex) {\r\n return numberString.slice(0, stringIndex + 1) + (ret.length ? (sep + ret + right) : right);\r\n }\r\n ret = numberString.slice(stringIndex - curSize + 1, stringIndex + 1) + (ret.length ? (sep + ret) : \"\");\r\n\r\n stringIndex -= curSize;\r\n\r\n if (curGroupIndex < groupSizes.length) {\r\n curSize = groupSizes[curGroupIndex];\r\n curGroupIndex++;\r\n }\r\n }\r\n\r\n return numberString.slice(0, stringIndex + 1) + sep + ret + right;\r\n };\r\n\r\n formatNumber = function (value, format, culture) {\r\n if (!isFinite(value)) {\r\n if (value === Infinity) {\r\n return culture.numberFormat.positiveInfinity;\r\n }\r\n if (value === -Infinity) {\r\n return culture.numberFormat.negativeInfinity;\r\n }\r\n return culture.numberFormat[\"NaN\"];\r\n }\r\n if (!format || format === \"i\") {\r\n return culture.name.length ? value.toLocaleString() : value.toString();\r\n }\r\n format = format || \"D\";\r\n\r\n var nf = culture.numberFormat,\r\n number = Math.abs(value),\r\n precision = -1,\r\n pattern;\r\n if (format.length > 1) precision = parseInt(format.slice(1), 10);\r\n\r\n var current = format.charAt(0).toUpperCase(),\r\n formatInfo;\r\n\r\n switch (current) {\r\n case \"D\":\r\n pattern = \"n\";\r\n number = truncate(number);\r\n if (precision !== -1) {\r\n number = zeroPad(\"\" + number, precision, true);\r\n }\r\n if (value < 0) number = \"-\" + number;\r\n break;\r\n case \"N\":\r\n formatInfo = nf;\r\n /* falls through */\r\n case \"C\":\r\n formatInfo = formatInfo || nf.currency;\r\n /* falls through */\r\n case \"P\":\r\n formatInfo = formatInfo || nf.percent;\r\n pattern = value < 0 ? formatInfo.pattern[0] : (formatInfo.pattern[1] || \"n\");\r\n if (precision === -1) precision = formatInfo.decimals;\r\n number = expandNumber(number * (current === \"P\" ? 100 : 1), precision, formatInfo);\r\n break;\r\n default:\r\n throw \"Bad number format specifier: \" + current;\r\n }\r\n\r\n var patternParts = /n|\\$|-|%/g,\r\n ret = \"\";\r\n for (; ;) {\r\n var index = patternParts.lastIndex,\r\n ar = patternParts.exec(pattern);\r\n\r\n ret += pattern.slice(index, ar ? ar.index : pattern.length);\r\n\r\n if (!ar) {\r\n break;\r\n }\r\n\r\n switch (ar[0]) {\r\n case \"n\":\r\n ret += number;\r\n break;\r\n case \"$\":\r\n ret += nf.currency.symbol;\r\n break;\r\n case \"-\":\r\n // don't make 0 negative\r\n if (/[1-9]/.test(number)) {\r\n ret += nf[\"-\"];\r\n }\r\n break;\r\n case \"%\":\r\n ret += nf.percent.symbol;\r\n break;\r\n }\r\n }\r\n\r\n return ret;\r\n };\r\n\r\n }());\r\n\r\n getTokenRegExp = function () {\r\n // regular expression for matching date and time tokens in format strings.\r\n return (/\\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g);\r\n };\r\n\r\n getEra = function (date, eras) {\r\n if (!eras) return 0;\r\n var start, ticks = date.getTime();\r\n for (var i = 0, l = eras.length; i < l; i++) {\r\n start = eras[i].start;\r\n if (start === null || ticks >= start) {\r\n return i;\r\n }\r\n }\r\n return 0;\r\n };\r\n\r\n getEraYear = function (date, cal, era, sortable) {\r\n var year = date.getFullYear();\r\n if (!sortable && cal.eras) {\r\n // convert normal gregorian year to era-shifted gregorian\r\n // year by subtracting the era offset\r\n year -= cal.eras[era].offset;\r\n }\r\n return year;\r\n };\r\n\r\n // parseExact\r\n (function () {\r\n var expandYear,\r\n getDayIndex,\r\n getMonthIndex,\r\n getParseRegExp,\r\n outOfRange,\r\n toUpper,\r\n toUpperArray;\r\n\r\n expandYear = function (cal, year) {\r\n // expands 2-digit year into 4 digits.\r\n if (year < 100) {\r\n var now = new Date(),\r\n era = getEra(now),\r\n curr = getEraYear(now, cal, era),\r\n twoDigitYearMax = cal.twoDigitYearMax;\r\n twoDigitYearMax = typeof twoDigitYearMax === \"string\" ? new Date().getFullYear() % 100 + parseInt(twoDigitYearMax, 10) : twoDigitYearMax;\r\n year += curr - (curr % 100);\r\n if (year > twoDigitYearMax) {\r\n year -= 100;\r\n }\r\n }\r\n return year;\r\n };\r\n\r\n getDayIndex = function (cal, value, abbr) {\r\n var ret,\r\n days = cal.days,\r\n upperDays = cal._upperDays;\r\n if (!upperDays) {\r\n cal._upperDays = upperDays = [\r\n toUpperArray(days.names),\r\n toUpperArray(days.namesAbbr),\r\n toUpperArray(days.namesShort)\r\n ];\r\n }\r\n value = toUpper(value);\r\n if (abbr) {\r\n ret = arrayIndexOf(upperDays[1], value);\r\n if (ret === -1) {\r\n ret = arrayIndexOf(upperDays[2], value);\r\n }\r\n } else {\r\n ret = arrayIndexOf(upperDays[0], value);\r\n }\r\n return ret;\r\n };\r\n\r\n getMonthIndex = function (cal, value, abbr) {\r\n var months = cal.months,\r\n monthsGen = cal.monthsGenitive || cal.months,\r\n upperMonths = cal._upperMonths,\r\n upperMonthsGen = cal._upperMonthsGen;\r\n if (!upperMonths) {\r\n cal._upperMonths = upperMonths = [\r\n toUpperArray(months.names),\r\n toUpperArray(months.namesAbbr)\r\n ];\r\n cal._upperMonthsGen = upperMonthsGen = [\r\n toUpperArray(monthsGen.names),\r\n toUpperArray(monthsGen.namesAbbr)\r\n ];\r\n }\r\n value = toUpper(value);\r\n var i = arrayIndexOf(abbr ? upperMonths[1] : upperMonths[0], value);\r\n if (i < 0) {\r\n i = arrayIndexOf(abbr ? upperMonthsGen[1] : upperMonthsGen[0], value);\r\n }\r\n return i;\r\n };\r\n\r\n getParseRegExp = function (cal, format) {\r\n // converts a format string into a regular expression with groups that\r\n // can be used to extract date fields from a date string.\r\n // check for a cached parse regex.\r\n var re = cal._parseRegExp;\r\n if (!re) {\r\n cal._parseRegExp = re = {};\r\n } else {\r\n var reFormat = re[format];\r\n if (reFormat) {\r\n return reFormat;\r\n }\r\n }\r\n\r\n // expand single digit formats, then escape regular expression characters.\r\n var expFormat = expandFormat(cal, format).replace(/([\\^\\$\\.\\*\\+\\?\\|\\[\\]\\(\\)\\{\\}])/g, \"\\\\\\\\$1\"),\r\n regexp = [\"^\"],\r\n groups = [],\r\n index = 0,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n match;\r\n\r\n // iterate through each date token found.\r\n while ((match = tokenRegExp.exec(expFormat)) !== null) {\r\n var preMatch = expFormat.slice(index, match.index);\r\n index = tokenRegExp.lastIndex;\r\n\r\n // don't replace any matches that occur inside a string literal.\r\n quoteCount += appendPreOrPostMatch(preMatch, regexp);\r\n if (quoteCount % 2) {\r\n regexp.push(match[0]);\r\n continue;\r\n }\r\n\r\n // add a regex group for the token.\r\n var m = match[0],\r\n len = m.length,\r\n add;\r\n switch (m) {\r\n case \"dddd\":\r\n case \"ddd\":\r\n case \"MMMM\":\r\n case \"MMM\":\r\n case \"gg\":\r\n case \"g\":\r\n add = \"(\\\\D+)\";\r\n break;\r\n case \"tt\":\r\n case \"t\":\r\n add = \"(\\\\D*)\";\r\n break;\r\n case \"yyyy\":\r\n case \"fff\":\r\n case \"ff\":\r\n case \"f\":\r\n add = \"(\\\\d{\" + len + \"})\";\r\n break;\r\n case \"dd\":\r\n case \"d\":\r\n case \"MM\":\r\n case \"M\":\r\n case \"yy\":\r\n case \"y\":\r\n case \"HH\":\r\n case \"H\":\r\n case \"hh\":\r\n case \"h\":\r\n case \"mm\":\r\n case \"m\":\r\n case \"ss\":\r\n case \"s\":\r\n add = \"(\\\\d\\\\d?)\";\r\n break;\r\n case \"zzz\":\r\n add = \"([+-]?\\\\d\\\\d?:\\\\d{2})\";\r\n break;\r\n case \"zz\":\r\n case \"z\":\r\n add = \"([+-]?\\\\d\\\\d?)\";\r\n break;\r\n case \"/\":\r\n add = \"(\\\\/)\";\r\n break;\r\n default:\r\n throw \"Invalid date format pattern \\'\" + m + \"\\'.\";\r\n }\r\n if (add) {\r\n regexp.push(add);\r\n }\r\n groups.push(match[0]);\r\n }\r\n appendPreOrPostMatch(expFormat.slice(index), regexp);\r\n regexp.push(\"$\");\r\n\r\n // allow whitespace to differ when matching formats.\r\n var regexpStr = regexp.join(\"\").replace(/\\s+/g, \"\\\\s+\"),\r\n parseRegExp = {\r\n \"regExp\": regexpStr,\r\n \"groups\": groups\r\n };\r\n\r\n // cache the regex for this format.\r\n return re[format] = parseRegExp;\r\n };\r\n\r\n outOfRange = function (value, low, high) {\r\n return value < low || value > high;\r\n };\r\n\r\n toUpper = function (value) {\r\n // \"he-IL\" has non-breaking space in weekday names.\r\n return value.split(\"\\u00A0\").join(\" \").toUpperCase();\r\n };\r\n\r\n toUpperArray = function (arr) {\r\n var results = [];\r\n for (var i = 0, l = arr.length; i < l; i++) {\r\n results[i] = toUpper(arr[i]);\r\n }\r\n return results;\r\n };\r\n\r\n parseExact = function (value, format, culture) {\r\n // try to parse the date string by matching against the format string\r\n // while using the specified culture for date field names.\r\n value = trim(value);\r\n var cal = culture.calendar,\r\n // convert date formats into regular expressions with groupings.\r\n // use the regexp to determine the input format and extract the date fields.\r\n parseInfo = getParseRegExp(cal, format),\r\n match = new RegExp(parseInfo.regExp).exec(value);\r\n if (match === null) {\r\n return null;\r\n }\r\n // found a date format that matches the input.\r\n var groups = parseInfo.groups,\r\n era = null,\r\n year = null,\r\n month = null,\r\n date = null,\r\n weekDay = null,\r\n hour = 0,\r\n hourOffset, min = 0,\r\n sec = 0,\r\n msec = 0,\r\n tzMinOffset = null,\r\n pmHour = false;\r\n // iterate the format groups to extract and set the date fields.\r\n for (var j = 0, jl = groups.length; j < jl; j++) {\r\n var matchGroup = match[j + 1];\r\n if (matchGroup) {\r\n var current = groups[j],\r\n clength = current.length,\r\n matchInt = parseInt(matchGroup, 10);\r\n switch (current) {\r\n case \"dd\":\r\n case \"d\":\r\n // Day of month.\r\n date = matchInt;\r\n // check that date is generally in valid range, also checking overflow below.\r\n if (outOfRange(date, 1, 31)) return null;\r\n break;\r\n case \"MMM\":\r\n case \"MMMM\":\r\n month = getMonthIndex(cal, matchGroup, clength === 3);\r\n if (outOfRange(month, 0, 11)) return null;\r\n break;\r\n case \"M\":\r\n case \"MM\":\r\n // Month.\r\n month = matchInt - 1;\r\n if (outOfRange(month, 0, 11)) return null;\r\n break;\r\n case \"y\":\r\n case \"yy\":\r\n case \"yyyy\":\r\n year = clength < 4 ? expandYear(cal, matchInt) : matchInt;\r\n if (outOfRange(year, 0, 9999)) return null;\r\n break;\r\n case \"h\":\r\n case \"hh\":\r\n // Hours (12-hour clock).\r\n hour = matchInt;\r\n if (hour === 12) hour = 0;\r\n if (outOfRange(hour, 0, 11)) return null;\r\n break;\r\n case \"H\":\r\n case \"HH\":\r\n // Hours (24-hour clock).\r\n hour = matchInt;\r\n if (outOfRange(hour, 0, 23)) return null;\r\n break;\r\n case \"m\":\r\n case \"mm\":\r\n // Minutes.\r\n min = matchInt;\r\n if (outOfRange(min, 0, 59)) return null;\r\n break;\r\n case \"s\":\r\n case \"ss\":\r\n // Seconds.\r\n sec = matchInt;\r\n if (outOfRange(sec, 0, 59)) return null;\r\n break;\r\n case \"tt\":\r\n case \"t\":\r\n // AM/PM designator.\r\n // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of\r\n // the AM tokens. If not, fail the parse for this format.\r\n pmHour = cal.PM && (matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2]);\r\n if (\r\n !pmHour && (\r\n !cal.AM || (matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2])\r\n )\r\n ) return null;\r\n break;\r\n case \"f\":\r\n // Deciseconds.\r\n case \"ff\":\r\n // Centiseconds.\r\n case \"fff\":\r\n // Milliseconds.\r\n msec = matchInt * Math.pow(10, 3 - clength);\r\n if (outOfRange(msec, 0, 999)) return null;\r\n break;\r\n case \"ddd\":\r\n // Day of week.\r\n case \"dddd\":\r\n // Day of week.\r\n weekDay = getDayIndex(cal, matchGroup, clength === 3);\r\n if (outOfRange(weekDay, 0, 6)) return null;\r\n break;\r\n case \"zzz\":\r\n // Time zone offset in +/- hours:min.\r\n var offsets = matchGroup.split(/:/);\r\n if (offsets.length !== 2) return null;\r\n hourOffset = parseInt(offsets[0], 10);\r\n if (outOfRange(hourOffset, -12, 13)) return null;\r\n var minOffset = parseInt(offsets[1], 10);\r\n if (outOfRange(minOffset, 0, 59)) return null;\r\n tzMinOffset = (hourOffset * 60) + (startsWith(matchGroup, \"-\") ? -minOffset : minOffset);\r\n break;\r\n case \"z\":\r\n case \"zz\":\r\n // Time zone offset in +/- hours.\r\n hourOffset = matchInt;\r\n if (outOfRange(hourOffset, -12, 13)) return null;\r\n tzMinOffset = hourOffset * 60;\r\n break;\r\n case \"g\":\r\n case \"gg\":\r\n var eraName = matchGroup;\r\n if (!eraName || !cal.eras) return null;\r\n eraName = trim(eraName.toLowerCase());\r\n for (var i = 0, l = cal.eras.length; i < l; i++) {\r\n if (eraName === cal.eras[i].name.toLowerCase()) {\r\n era = i;\r\n break;\r\n }\r\n }\r\n // could not find an era with that name\r\n if (era === null) return null;\r\n break;\r\n }\r\n }\r\n }\r\n var result = new Date(),\r\n defaultYear, convert = cal.convert;\r\n defaultYear = convert ? convert.fromGregorian(result)[0] : result.getFullYear();\r\n if (year === null) {\r\n year = defaultYear;\r\n } else if (cal.eras) {\r\n // year must be shifted to normal gregorian year\r\n // but not if year was not specified, its already normal gregorian\r\n // per the main if clause above.\r\n year += cal.eras[(era || 0)].offset;\r\n }\r\n // set default day and month to 1 and January, so if unspecified, these are the defaults\r\n // instead of the current day/month.\r\n if (month === null) {\r\n month = 0;\r\n }\r\n if (date === null) {\r\n date = 1;\r\n }\r\n // now have year, month, and date, but in the culture's calendar.\r\n // convert to gregorian if necessary\r\n if (convert) {\r\n result = convert.toGregorian(year, month, date);\r\n // conversion failed, must be an invalid match\r\n if (result === null) return null;\r\n } else {\r\n // have to set year, month and date together to avoid overflow based on current date.\r\n result.setFullYear(year, month, date);\r\n // check to see if date overflowed for specified month (only checked 1-31 above).\r\n if (result.getDate() !== date) return null;\r\n // invalid day of week.\r\n if (weekDay !== null && result.getDay() !== weekDay) {\r\n return null;\r\n }\r\n }\r\n // if pm designator token was found make sure the hours fit the 24-hour clock.\r\n if (pmHour && hour < 12) {\r\n hour += 12;\r\n }\r\n result.setHours(hour, min, sec, msec);\r\n if (tzMinOffset !== null) {\r\n // adjust timezone to utc before applying local offset.\r\n var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());\r\n // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours\r\n // to ensure both these fields will not exceed this range.\tadjustedMin will range\r\n // somewhere between -1440 and 1500, so we only need to split this into hours.\r\n result.setHours(result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60);\r\n }\r\n return result;\r\n };\r\n }());\r\n\r\n parseNegativePattern = function (value, nf, negativePattern) {\r\n var neg = nf[\"-\"],\r\n pos = nf[\"+\"],\r\n ret;\r\n switch (negativePattern) {\r\n case \"n -\":\r\n neg = \" \" + neg;\r\n pos = \" \" + pos;\r\n /* falls through */\r\n case \"n-\":\r\n if (endsWith(value, neg)) {\r\n ret = [\"-\", value.substr(0, value.length - neg.length)];\r\n } else if (endsWith(value, pos)) {\r\n ret = [\"+\", value.substr(0, value.length - pos.length)];\r\n }\r\n break;\r\n case \"- n\":\r\n neg += \" \";\r\n pos += \" \";\r\n /* falls through */\r\n case \"-n\":\r\n if (startsWith(value, neg)) {\r\n ret = [\"-\", value.substr(neg.length)];\r\n } else if (startsWith(value, pos)) {\r\n ret = [\"+\", value.substr(pos.length)];\r\n }\r\n break;\r\n case \"(n)\":\r\n if (startsWith(value, \"(\") && endsWith(value, \")\")) {\r\n ret = [\"-\", value.substr(1, value.length - 2)];\r\n }\r\n break;\r\n }\r\n return ret || [\"\", value];\r\n };\r\n\r\n //\r\n // public instance functions\r\n //\r\n\r\n Globalize.prototype.findClosestCulture = function (cultureSelector) {\r\n return Globalize.findClosestCulture.call(this, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.format = function (value, format, cultureSelector) {\r\n return Globalize.format.call(this, value, format, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.localize = function (key, cultureSelector) {\r\n return Globalize.localize.call(this, key, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.parseInt = function (value, radix, cultureSelector) {\r\n return Globalize.parseInt.call(this, value, radix, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.parseFloat = function (value, radix, cultureSelector) {\r\n return Globalize.parseFloat.call(this, value, radix, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.culture = function (cultureSelector) {\r\n return Globalize.culture.call(this, cultureSelector);\r\n };\r\n\r\n //\r\n // public singleton functions\r\n //\r\n\r\n Globalize.addCultureInfo = function (cultureName, baseCultureName, info) {\r\n\r\n var base = {},\r\n isNew = false;\r\n\r\n if (typeof cultureName !== \"string\") {\r\n // cultureName argument is optional string. If not specified, assume info is first\r\n // and only argument. Specified info deep-extends current culture.\r\n info = cultureName;\r\n cultureName = this.culture().name;\r\n base = this.cultures[cultureName];\r\n } else if (typeof baseCultureName !== \"string\") {\r\n // baseCultureName argument is optional string. If not specified, assume info is second\r\n // argument. Specified info deep-extends specified culture.\r\n // If specified culture does not exist, create by deep-extending default\r\n info = baseCultureName;\r\n isNew = (this.cultures[cultureName] == null);\r\n base = this.cultures[cultureName] || this.cultures[\"default\"];\r\n } else {\r\n // cultureName and baseCultureName specified. Assume a new culture is being created\r\n // by deep-extending an specified base culture\r\n isNew = true;\r\n base = this.cultures[baseCultureName];\r\n }\r\n\r\n this.cultures[cultureName] = extend(true, {},\r\n base,\r\n info\r\n );\r\n // Make the standard calendar the current culture if it's a new culture\r\n if (isNew) {\r\n this.cultures[cultureName].calendar = this.cultures[cultureName].calendars.standard;\r\n }\r\n };\r\n\r\n Globalize.findClosestCulture = function (name) {\r\n var match;\r\n if (!name) {\r\n return this.findClosestCulture(this.cultureSelector) || this.cultures[\"default\"];\r\n }\r\n if (typeof name === \"string\") {\r\n name = name.split(\",\");\r\n }\r\n if (isArray(name)) {\r\n var lang,\r\n cultures = this.cultures,\r\n list = name,\r\n i, l = list.length,\r\n prioritized = [];\r\n for (i = 0; i < l; i++) {\r\n name = trim(list[i]);\r\n var pri, parts = name.split(\";\");\r\n lang = trim(parts[0]);\r\n if (parts.length === 1) {\r\n pri = 1;\r\n } else {\r\n name = trim(parts[1]);\r\n if (name.indexOf(\"q=\") === 0) {\r\n name = name.substr(2);\r\n pri = parseFloat(name);\r\n pri = isNaN(pri) ? 0 : pri;\r\n } else {\r\n pri = 1;\r\n }\r\n }\r\n prioritized.push({\r\n lang: lang,\r\n pri: pri\r\n });\r\n }\r\n prioritized.sort(function (a, b) {\r\n if (a.pri < b.pri) {\r\n return 1;\r\n } else if (a.pri > b.pri) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n // exact match\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n match = cultures[lang];\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n\r\n // neutral language match\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n do {\r\n var index = lang.lastIndexOf(\"-\");\r\n if (index === -1) {\r\n break;\r\n }\r\n // strip off the last part. e.g. en-US => en\r\n lang = lang.substr(0, index);\r\n match = cultures[lang];\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n while (1);\r\n }\r\n\r\n // last resort: match first culture using that language\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n for (var cultureKey in cultures) {\r\n var culture = cultures[cultureKey];\r\n if (culture.language == lang) {\r\n return culture;\r\n }\r\n }\r\n }\r\n } else if (typeof name === \"object\") {\r\n return name;\r\n }\r\n return match || null;\r\n };\r\n\r\n Globalize.format = function (value, format, cultureSelector) {\r\n var culture = this.findClosestCulture(cultureSelector);\r\n if (value instanceof Date) {\r\n value = formatDate(value, format, culture);\r\n } else if (typeof value === \"number\") {\r\n value = formatNumber(value, format, culture);\r\n }\r\n return value;\r\n };\r\n\r\n Globalize.localize = function (key, cultureSelector) {\r\n return this.findClosestCulture(cultureSelector).messages[key] ||\r\n this.cultures[\"default\"].messages[key];\r\n };\r\n\r\n Globalize.parseDate = function (value, formats, culture) {\r\n culture = this.findClosestCulture(culture);\r\n\r\n var date, prop, patterns;\r\n if (formats) {\r\n if (typeof formats === \"string\") {\r\n formats = [formats];\r\n }\r\n if (formats.length) {\r\n for (var i = 0, l = formats.length; i < l; i++) {\r\n var format = formats[i];\r\n if (format) {\r\n date = parseExact(value, format, culture);\r\n if (date) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n patterns = culture.calendar.patterns;\r\n for (prop in patterns) {\r\n date = parseExact(value, patterns[prop], culture);\r\n if (date) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return date || null;\r\n };\r\n\r\n Globalize.parseInt = function (value, radix, cultureSelector) {\r\n return truncate(Globalize.parseFloat(value, radix, cultureSelector));\r\n };\r\n\r\n Globalize.parseFloat = function (value, radix, cultureSelector) {\r\n // radix argument is optional\r\n if (typeof radix !== \"number\") {\r\n cultureSelector = radix;\r\n radix = 10;\r\n }\r\n\r\n var culture = this.findClosestCulture(cultureSelector);\r\n var ret = NaN,\r\n nf = culture.numberFormat;\r\n\r\n if (typeof (value) === \"boolean\") {\r\n return ret;\r\n }\r\n\r\n if (value.indexOf(culture.numberFormat.currency.symbol) > -1) {\r\n // remove currency symbol\r\n value = value.replace(culture.numberFormat.currency.symbol, \"\");\r\n // replace decimal seperator\r\n value = value.replace(culture.numberFormat.currency[\".\"], culture.numberFormat[\".\"]);\r\n }\r\n\r\n //Remove percentage character from number string before parsing\r\n if (value.indexOf(culture.numberFormat.percent.symbol) > -1) {\r\n value = value.replace(culture.numberFormat.percent.symbol, \"\");\r\n }\r\n\r\n // remove spaces: leading, trailing and between - and number. Used for negative currency pt-BR\r\n value = value.replace(/ /g, \"\");\r\n\r\n // allow infinity or hexidecimal\r\n if (regexInfinity.test(value)) {\r\n ret = parseFloat(value);\r\n } else if (!radix && regexHex.test(value)) {\r\n ret = parseInt(value, 16);\r\n } else {\r\n\r\n // determine sign and number\r\n var signInfo = parseNegativePattern(value, nf, nf.pattern[0]),\r\n sign = signInfo[0],\r\n num = signInfo[1];\r\n\r\n // #44 - try parsing as \"(n)\"\r\n if (sign === \"\" && nf.pattern[0] !== \"(n)\") {\r\n signInfo = parseNegativePattern(value, nf, \"(n)\");\r\n sign = signInfo[0];\r\n num = signInfo[1];\r\n }\r\n\r\n // try parsing as \"-n\"\r\n if (sign === \"\" && nf.pattern[0] !== \"-n\") {\r\n signInfo = parseNegativePattern(value, nf, \"-n\");\r\n sign = signInfo[0];\r\n num = signInfo[1];\r\n }\r\n\r\n sign = sign || \"+\";\r\n\r\n // determine exponent and number\r\n var exponent,\r\n intAndFraction,\r\n exponentPos = num.indexOf(\"e\");\r\n if (exponentPos < 0) exponentPos = num.indexOf(\"E\");\r\n if (exponentPos < 0) {\r\n intAndFraction = num;\r\n exponent = null;\r\n } else {\r\n intAndFraction = num.substr(0, exponentPos);\r\n exponent = num.substr(exponentPos + 1);\r\n }\r\n // determine decimal position\r\n var integer,\r\n fraction,\r\n decSep = nf[\".\"],\r\n decimalPos = intAndFraction.indexOf(decSep);\r\n if (decimalPos < 0) {\r\n integer = intAndFraction;\r\n fraction = null;\r\n } else {\r\n integer = intAndFraction.substr(0, decimalPos);\r\n fraction = intAndFraction.substr(decimalPos + decSep.length);\r\n }\r\n // handle groups (e.g. 1,000,000)\r\n var groupSep = nf[\",\"];\r\n integer = integer.split(groupSep).join(\"\");\r\n var altGroupSep = groupSep.replace(/\\u00A0/g, \" \");\r\n if (groupSep !== altGroupSep) {\r\n integer = integer.split(altGroupSep).join(\"\");\r\n }\r\n // build a natively parsable number string\r\n var p = sign + integer;\r\n if (fraction !== null) {\r\n p += \".\" + fraction;\r\n }\r\n if (exponent !== null) {\r\n // exponent itself may have a number patternd\r\n var expSignInfo = parseNegativePattern(exponent, nf, \"-n\");\r\n p += \"e\" + (expSignInfo[0] || \"+\") + expSignInfo[1];\r\n }\r\n if (regexParseFloat.test(p)) {\r\n ret = parseFloat(p);\r\n }\r\n }\r\n return ret;\r\n };\r\n\r\n Globalize.culture = function (cultureSelector) {\r\n // setter\r\n if (typeof cultureSelector !== \"undefined\") {\r\n this.cultureSelector = cultureSelector;\r\n }\r\n // getter\r\n return this.findClosestCulture(cultureSelector) || this.cultures[\"default\"];\r\n };\r\n\r\n}(this));\r\n\r\n// MKR: walidacja lokalnych formatow za pomoca Globalize.js\r\n(function ($) {\r\n // wartosci numeryczne\r\n $.validator.methods.number = function (value, element) {\r\n var val = Globalize.parseFloat(value);\r\n return this.optional(element) || ($.isNumeric(val));\r\n };\r\n\r\n // daty\r\n $.validator.methods.date = function (value, element) {\r\n var val = Globalize.parseDate(value, \"dd MMM yyyy\") || Globalize.parseDate(value);\r\n return this.optional(element) || (val);\r\n };\r\n // zakresy\r\n $.extend(jQuery.validator.methods, {\r\n range: function (value, element, param) {\r\n var val = Globalize.parseFloat(value);\r\n return this.optional(element) || (val >= param[0] && val <= param[1]);\r\n }\r\n });\r\n})(window.jQuery);","// Unobtrusive Ajax support library for jQuery\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// @version 3.2.6\r\n// \r\n// Microsoft grants you the right to use these script files for the sole\r\n// purpose of either: (i) interacting through your browser with the Microsoft\r\n// website or online service, subject to the applicable licensing or use\r\n// terms; or (ii) using the files as included with a Microsoft product subject\r\n// to that product's license terms. Microsoft reserves all other rights to the\r\n// files not expressly granted by Microsoft, whether by implication, estoppel\r\n// or otherwise. Insofar as a script file is dual licensed under GPL,\r\n// Microsoft neither took the code under GPL nor distributes it thereunder but\r\n// under the terms set out in this paragraph. All notices and licenses\r\n// below are for informational purposes only.\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global window: false, jQuery: false */\r\n\r\n(function ($) {\r\n var data_click = \"unobtrusiveAjaxClick\",\r\n data_target = \"unobtrusiveAjaxClickTarget\",\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function getFunction(code, argNames) {\r\n var fn = window, parts = (code || \"\").split(\".\");\r\n while (fn && parts.length) {\r\n fn = fn[parts.shift()];\r\n }\r\n if (typeof (fn) === \"function\") {\r\n return fn;\r\n }\r\n argNames.push(code);\r\n return Function.constructor.apply(null, argNames);\r\n }\r\n\r\n function isMethodProxySafe(method) {\r\n return method === \"GET\" || method === \"POST\";\r\n }\r\n\r\n function asyncOnBeforeSend(xhr, method) {\r\n if (!isMethodProxySafe(method)) {\r\n xhr.setRequestHeader(\"X-HTTP-Method-Override\", method);\r\n }\r\n }\r\n\r\n function asyncOnSuccess(element, data, contentType) {\r\n var mode;\r\n\r\n if (contentType.indexOf(\"application/x-javascript\") !== -1) { // jQuery already executes JavaScript for us\r\n return;\r\n }\r\n\r\n mode = (element.getAttribute(\"data-ajax-mode\") || \"\").toUpperCase();\r\n $(element.getAttribute(\"data-ajax-update\")).each(function (i, update) {\r\n var top;\r\n\r\n switch (mode) {\r\n case \"BEFORE\":\r\n $(update).prepend(data);\r\n break;\r\n case \"AFTER\":\r\n $(update).append(data);\r\n break;\r\n case \"REPLACE-WITH\":\r\n $(update).replaceWith(data);\r\n break;\r\n default:\r\n $(update).html(data);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n function asyncRequest(element, options) {\r\n var confirm, loading, method, duration;\r\n\r\n confirm = element.getAttribute(\"data-ajax-confirm\");\r\n if (confirm && !window.confirm(confirm)) {\r\n return;\r\n }\r\n\r\n loading = $(element.getAttribute(\"data-ajax-loading\"));\r\n duration = parseInt(element.getAttribute(\"data-ajax-loading-duration\"), 10) || 0;\r\n\r\n $.extend(options, {\r\n type: element.getAttribute(\"data-ajax-method\") || undefined,\r\n url: element.getAttribute(\"data-ajax-url\") || undefined,\r\n cache: (element.getAttribute(\"data-ajax-cache\") || \"\").toLowerCase() === \"true\",\r\n beforeSend: function (xhr) {\r\n var result;\r\n asyncOnBeforeSend(xhr, method);\r\n result = getFunction(element.getAttribute(\"data-ajax-begin\"), [\"xhr\"]).apply(element, arguments);\r\n if (result !== false) {\r\n loading.show(duration);\r\n }\r\n return result;\r\n },\r\n complete: function () {\r\n loading.hide(duration);\r\n getFunction(element.getAttribute(\"data-ajax-complete\"), [\"xhr\", \"status\"]).apply(element, arguments);\r\n },\r\n success: function (data, status, xhr) {\r\n asyncOnSuccess(element, data, xhr.getResponseHeader(\"Content-Type\") || \"text/html\");\r\n getFunction(element.getAttribute(\"data-ajax-success\"), [\"data\", \"status\", \"xhr\"]).apply(element, arguments);\r\n },\r\n error: function () {\r\n getFunction(element.getAttribute(\"data-ajax-failure\"), [\"xhr\", \"status\", \"error\"]).apply(element, arguments);\r\n }\r\n });\r\n\r\n options.data.push({ name: \"X-Requested-With\", value: \"XMLHttpRequest\" });\r\n\r\n method = options.type.toUpperCase();\r\n if (!isMethodProxySafe(method)) {\r\n options.type = \"POST\";\r\n options.data.push({ name: \"X-HTTP-Method-Override\", value: method });\r\n }\r\n\r\n // change here:\r\n // Check for a Form POST with enctype=multipart/form-data\r\n // add the input file that were not previously included in the serializeArray()\r\n // set processData and contentType to false\r\n var $element = $(element);\r\n if ($element.is(\"form\") && $element.attr(\"enctype\") == \"multipart/form-data\") {\r\n var formdata = new FormData();\r\n $.each(options.data, function (i, v) {\r\n formdata.append(v.name, v.value);\r\n });\r\n $(\"input[type=file]\", $element).each(function () {\r\n var file = this;\r\n $.each(file.files, function (n, v) {\r\n formdata.append(file.name, v);\r\n });\r\n });\r\n $.extend(options, {\r\n processData: false,\r\n contentType: false,\r\n data: formdata\r\n });\r\n }\r\n // end change\r\n\r\n $.ajax(options);\r\n }\r\n\r\n function validate(form) {\r\n var validationInfo = $(form).data(data_validation);\r\n return !validationInfo || !validationInfo.validate || validationInfo.validate();\r\n }\r\n\r\n $(document).on(\"click\", \"a[data-ajax=true]\", function (evt) {\r\n evt.preventDefault();\r\n asyncRequest(this, {\r\n url: this.href,\r\n type: \"GET\",\r\n data: []\r\n });\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] input[type=image]\", function (evt) {\r\n var name = evt.target.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]),\r\n offset = target.offset();\r\n\r\n form.data(data_click, [\r\n { name: name + \".x\", value: Math.round(evt.pageX - offset.left) },\r\n { name: name + \".y\", value: Math.round(evt.pageY - offset.top) }\r\n ]);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] :submit\", function (evt) {\r\n var name = evt.currentTarget.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]);\r\n\r\n form.data(data_click, name ? [{ name: name, value: evt.currentTarget.value }] : []);\r\n form.data(data_target, target);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n form.removeData(data_target);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"submit\", \"form[data-ajax=true]\", function (evt) {\r\n var clickInfo = $(this).data(data_click) || [],\r\n clickTarget = $(this).data(data_target),\r\n isCancel = clickTarget && (clickTarget.hasClass(\"cancel\") || clickTarget.attr('formnovalidate') !== undefined);\r\n evt.preventDefault();\r\n if (!isCancel && !validate(this)) {\r\n return;\r\n }\r\n asyncRequest(this, {\r\n url: this.action,\r\n type: this.method || \"GET\",\r\n data: clickInfo.concat($(this).serializeArray())\r\n });\r\n });\r\n\r\n $.fn.centerElement = function () {\r\n this.css(\"position\", \"absolute\");\r\n this.css(\"top\", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + \"px\");\r\n this.css(\"left\", /*($(window).width() - this.width()) / 2 + $(window).scrollLeft()*/ +\"0px\");\r\n return this;\r\n }\r\n}(jQuery));","/*!\r\n * jQuery blockUI plugin\r\n * Version 2.66.0-2013.10.09\r\n * Requires jQuery v1.7 or later\r\n *\r\n * Examples at: http://malsup.com/jquery/block/\r\n * Copyright (c) 2007-2013 M. Alsup\r\n * Dual licensed under the MIT and GPL licenses:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n * http://www.gnu.org/licenses/gpl.html\r\n *\r\n * Thanks to Amir-Hossein Sobhi for some excellent contributions!\r\n */\r\n\r\n;\r\n(function () {\r\n /*jshint eqeqeq:false curly:false latedef:false */\r\n \"use strict\";\r\n\r\n function setup($) {\r\n $.fn._fadeIn = $.fn.fadeIn;\r\n\r\n var noOp = $.noop || function () { };\r\n\r\n // this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle\r\n // confusing userAgent strings on Vista)\r\n var msie = /MSIE/.test(navigator.userAgent);\r\n var ie6 = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent);\r\n var mode = document.documentMode || 0;\r\n var setExpr = $.isFunction(document.createElement('div').style.setExpression);\r\n\r\n // global $ methods for blocking/unblocking the entire page\r\n $.blockUI = function (opts) {\r\n install(window, opts);\r\n };\r\n $.unblockUI = function (opts) {\r\n remove(window, opts);\r\n };\r\n\r\n // convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)\r\n $.growlUI = function (title, message, timeout, onClose) {\r\n var $m = $('
    ');\r\n if (title) $m.append('

    ' + title + '

    ');\r\n if (message) $m.append('

    ' + message + '

    ');\r\n if (timeout === undefined) timeout = 3000;\r\n\r\n // Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications\r\n var callBlock = function (opts) {\r\n opts = opts || {};\r\n\r\n $.blockUI({\r\n message: $m,\r\n fadeIn: typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700,\r\n fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,\r\n timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,\r\n centerY: false,\r\n showOverlay: false,\r\n onUnblock: onClose,\r\n css: $.blockUI.defaults.growlCSS\r\n });\r\n };\r\n\r\n callBlock();\r\n var nonmousedOpacity = $m.css('opacity');\r\n $m.mouseover(function () {\r\n callBlock({\r\n fadeIn: 0,\r\n timeout: 30000\r\n });\r\n\r\n var displayBlock = $('.blockMsg');\r\n displayBlock.stop(); // cancel fadeout if it has started\r\n displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency\r\n }).mouseout(function () {\r\n $('.blockMsg').fadeOut(1000);\r\n });\r\n // End konapun additions\r\n };\r\n\r\n // plugin method for blocking element content\r\n $.fn.block = function (opts) {\r\n if (this[0] === window) {\r\n $.blockUI(opts);\r\n return this;\r\n }\r\n var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});\r\n this.each(function () {\r\n var $el = $(this);\r\n if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))\r\n return;\r\n $el.unblock({\r\n fadeOut: 0\r\n });\r\n });\r\n\r\n return this.each(function () {\r\n if ($.css(this, 'position') == 'static') {\r\n this.style.position = 'relative';\r\n $(this).data('blockUI.static', true);\r\n }\r\n this.style.zoom = 1; // force 'hasLayout' in ie\r\n install(this, opts);\r\n });\r\n };\r\n\r\n // plugin method for unblocking element content\r\n $.fn.unblock = function (opts) {\r\n if (this[0] === window) {\r\n $.unblockUI(opts);\r\n return this;\r\n }\r\n return this.each(function () {\r\n remove(this, opts);\r\n });\r\n };\r\n\r\n $.blockUI.version = 2.66; // 2nd generation blocking at no extra cost!\r\n\r\n // override these in your code to change the default behavior and style\r\n $.blockUI.defaults = {\r\n // message displayed when blocking (use null for no message)\r\n message: '

    Please wait...

    ',\r\n\r\n title: null, // title string; only used when theme == true\r\n draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)\r\n\r\n theme: false, // set to true to use with jQuery UI themes\r\n\r\n // styles for the message when blocking; if you wish to disable\r\n // these and use an external stylesheet then do this in your code:\r\n // $.blockUI.defaults.css = {};\r\n css: {\r\n //padding: 0,\r\n //margin: 0,\r\n //width: '30%',\r\n top: '40%',\r\n //left: '35%',\r\n textAlign: 'center',\r\n color: '#000',\r\n border: '3px solid #aaa',\r\n backgroundColor: '#fff',\r\n cursor: 'wait'\r\n },\r\n\r\n // minimal style set used when themes are used\r\n themedCSS: {\r\n //width: '30%',\r\n top: '40%',\r\n //left: '35%'\r\n },\r\n\r\n // styles for the overlay\r\n overlayCSS: {\r\n backgroundColor: '#000',\r\n opacity: 0.6,\r\n cursor: 'wait'\r\n },\r\n\r\n // style to replace wait cursor before unblocking to correct issue\r\n // of lingering wait cursor\r\n cursorReset: 'default',\r\n\r\n // styles applied when using $.growlUI\r\n growlCSS: {\r\n width: '350px',\r\n top: '10px',\r\n left: '',\r\n right: '10px',\r\n border: 'none',\r\n padding: '5px',\r\n opacity: 0.6,\r\n cursor: 'default',\r\n color: '#fff',\r\n backgroundColor: '#000',\r\n '-webkit-border-radius': '10px',\r\n '-moz-border-radius': '10px',\r\n 'border-radius': '10px'\r\n },\r\n\r\n // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w\r\n // (hat tip to Jorge H. N. de Vasconcelos)\r\n /*jshint scripturl:true */\r\n iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',\r\n\r\n // force usage of iframe in non-IE browsers (handy for blocking applets)\r\n forceIframe: false,\r\n\r\n // z-index for the blocking overlay\r\n baseZ: 1000,\r\n\r\n // set these to true to have the message automatically centered\r\n centerX: true, // <-- only effects element blocking (page block controlled via css above)\r\n centerY: true,\r\n\r\n // allow body element to be stetched in ie6; this makes blocking look better\r\n // on \"short\" pages. disable if you wish to prevent changes to the body height\r\n allowBodyStretch: true,\r\n\r\n // enable if you want key and mouse events to be disabled for content that is blocked\r\n bindEvents: true,\r\n\r\n // be default blockUI will supress tab navigation from leaving blocking content\r\n // (if bindEvents is true)\r\n constrainTabKey: true,\r\n\r\n // fadeIn time in millis; set to 0 to disable fadeIn on block\r\n fadeIn: 200,\r\n\r\n // fadeOut time in millis; set to 0 to disable fadeOut on unblock\r\n fadeOut: 400,\r\n\r\n // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock\r\n timeout: 0,\r\n\r\n // disable if you don't want to show the overlay\r\n showOverlay: true,\r\n\r\n // if true, focus will be placed in the first available input field when\r\n // page blocking\r\n focusInput: true,\r\n\r\n // elements that can receive focus\r\n focusableElements: ':input:enabled:visible',\r\n\r\n // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)\r\n // no longer needed in 2012\r\n // applyPlatformOpacityRules: true,\r\n\r\n // callback method invoked when fadeIn has completed and blocking message is visible\r\n onBlock: null,\r\n\r\n // callback method invoked when unblocking has completed; the callback is\r\n // passed the element that has been unblocked (which is the window object for page\r\n // blocks) and the options that were passed to the unblock call:\r\n //\tonUnblock(element, options)\r\n onUnblock: null,\r\n\r\n // callback method invoked when the overlay area is clicked.\r\n // setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.\r\n onOverlayClick: null,\r\n\r\n // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493\r\n quirksmodeOffsetHack: 4,\r\n\r\n // class name of the message block\r\n blockMsgClass: 'blockMsg',\r\n\r\n // if it is already blocked, then ignore it (don't unblock and reblock)\r\n ignoreIfBlocked: false\r\n };\r\n\r\n // private data and functions follow...\r\n\r\n var pageBlock = null;\r\n var pageBlockEls = [];\r\n\r\n function install(el, opts) {\r\n var css, themedCSS;\r\n var full = (el == window);\r\n var msg = (opts && opts.message !== undefined ? opts.message : undefined);\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n\r\n if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))\r\n return;\r\n\r\n opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});\r\n css = $.extend({}, $.blockUI.defaults.css, opts.css || {});\r\n if (opts.onOverlayClick)\r\n opts.overlayCSS.cursor = 'pointer';\r\n\r\n themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});\r\n msg = msg === undefined ? opts.message : msg;\r\n\r\n // remove the current block (if there is one)\r\n if (full && pageBlock)\r\n remove(window, {\r\n fadeOut: 0\r\n });\r\n\r\n // if an existing element is being used as the blocking content then we capture\r\n // its current place in the DOM (and current display style) so we can restore\r\n // it when we unblock\r\n if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {\r\n var node = msg.jquery ? msg[0] : msg;\r\n var data = {};\r\n $(el).data('blockUI.history', data);\r\n data.el = node;\r\n data.parent = node.parentNode;\r\n data.display = node.style.display;\r\n data.position = node.style.position;\r\n if (data.parent)\r\n data.parent.removeChild(node);\r\n }\r\n\r\n $(el).data('blockUI.onUnblock', opts.onUnblock);\r\n var z = opts.baseZ;\r\n\r\n // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;\r\n // layer1 is the iframe layer which is used to supress bleed through of underlying content\r\n // layer2 is the overlay layer which has opacity and a wait cursor (by default)\r\n // layer3 is the message content that is displayed while blocking\r\n var lyr1, lyr2, lyr3, s;\r\n var responsive = \"col-xl-4 offset-xl-4 col-lg-6 offset-lg-3 col-md-6 offset-md-3 col-10 offset-1\";\r\n if (msie || opts.forceIframe)\r\n lyr1 = $('');\r\n else\r\n lyr1 = $('
    ');\r\n\r\n if (opts.theme)\r\n lyr2 = $('
    ');\r\n else\r\n lyr2 = $('
    ');\r\n\r\n if (opts.theme && full) {\r\n s = '
    ';\r\n if (opts.title) {\r\n s += '
    ' + (opts.title || ' ') + '
    ';\r\n }\r\n s += '
    ';\r\n s += '
    ';\r\n } else if (opts.theme) {\r\n s = '
    ';\r\n if (opts.title) {\r\n s += '
    ' + (opts.title || ' ') + '
    ';\r\n }\r\n s += '
    ';\r\n s += '
    ';\r\n } else if (full) {\r\n s = '
    ';\r\n } else {\r\n s = '
    ';\r\n }\r\n lyr3 = $(s);\r\n\r\n // if we have a message, style it\r\n if (msg) {\r\n if (opts.theme) {\r\n lyr3.css(themedCSS);\r\n lyr3.addClass('ui-widget-content');\r\n } else\r\n lyr3.css(css);\r\n }\r\n\r\n // style the overlay\r\n if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)\r\n lyr2.css(opts.overlayCSS);\r\n lyr2.css('position', full ? 'fixed' : 'absolute');\r\n\r\n // make iframe layer transparent in IE\r\n if (msie || opts.forceIframe)\r\n lyr1.css('opacity', 0.0);\r\n\r\n //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);\r\n var layers = [lyr1, lyr2, lyr3],\r\n $par = full ? $('body') : $(el);\r\n $.each(layers, function () {\r\n this.appendTo($par);\r\n });\r\n\r\n if (opts.theme && opts.draggable && $.fn.draggable) {\r\n lyr3.draggable({\r\n handle: '.ui-dialog-titlebar',\r\n cancel: 'li'\r\n });\r\n }\r\n\r\n // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)\r\n var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);\r\n if (ie6 || expr) {\r\n // give body 100% height\r\n if (full && opts.allowBodyStretch && $.support.boxModel)\r\n $('html,body').css('height', '100%');\r\n\r\n // fix ie6 issue when blocked element has a border width\r\n if ((ie6 || !$.support.boxModel) && !full) {\r\n var t = sz(el, 'borderTopWidth'),\r\n l = sz(el, 'borderLeftWidth');\r\n var fixT = t ? '(0 - ' + t + ')' : 0;\r\n var fixL = l ? '(0 - ' + l + ')' : 0;\r\n }\r\n\r\n // simulate fixed position\r\n $.each(layers, function (i, o) {\r\n var s = o[0].style;\r\n s.position = 'absolute';\r\n if (i < 2) {\r\n if (full)\r\n s.setExpression('height', 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:' + opts.quirksmodeOffsetHack + ') + \"px\"');\r\n else\r\n s.setExpression('height', 'this.parentNode.offsetHeight + \"px\"');\r\n if (full)\r\n s.setExpression('width', 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + \"px\"');\r\n else\r\n s.setExpression('width', 'this.parentNode.offsetWidth + \"px\"');\r\n if (fixL) s.setExpression('left', 0);\r\n if (fixT) s.setExpression('top', fixT);\r\n } else if (opts.centerY) {\r\n if (full) s.setExpression('top', '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"');\r\n s.marginTop = 0;\r\n } else if (!opts.centerY && full) {\r\n var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;\r\n var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + top + ') + \"px\"';\r\n s.setExpression('top', expression);\r\n }\r\n });\r\n }\r\n\r\n // show the message\r\n if (msg) {\r\n if (opts.theme)\r\n lyr3.find('.ui-widget-content').append(msg);\r\n else\r\n lyr3.append(msg);\r\n if (msg.jquery || msg.nodeType)\r\n $(msg).show();\r\n }\r\n\r\n if ((msie || opts.forceIframe) && opts.showOverlay)\r\n lyr1.show(); // opacity is zero\r\n if (opts.fadeIn) {\r\n var cb = opts.onBlock ? opts.onBlock : noOp;\r\n var cb1 = (opts.showOverlay && !msg) ? cb : noOp;\r\n var cb2 = msg ? cb : noOp;\r\n if (opts.showOverlay)\r\n lyr2._fadeIn(opts.fadeIn, cb1);\r\n if (msg)\r\n lyr3._fadeIn(opts.fadeIn, cb2);\r\n } else {\r\n if (opts.showOverlay)\r\n lyr2.show();\r\n if (msg)\r\n lyr3.show();\r\n if (opts.onBlock)\r\n opts.onBlock();\r\n }\r\n\r\n // bind key and mouse events\r\n bind(1, el, opts);\r\n\r\n if (full) {\r\n pageBlock = lyr3[0];\r\n pageBlockEls = $(opts.focusableElements, pageBlock);\r\n if (opts.focusInput)\r\n setTimeout(focus, 20);\r\n } else\r\n center(lyr3[0], opts.centerX, opts.centerY);\r\n\r\n if (opts.timeout) {\r\n // auto-unblock\r\n var to = setTimeout(function () {\r\n if (full)\r\n $.unblockUI(opts);\r\n else\r\n $(el).unblock(opts);\r\n }, opts.timeout);\r\n $(el).data('blockUI.timeout', to);\r\n }\r\n }\r\n\r\n // remove the block\r\n function remove(el, opts) {\r\n var count;\r\n var full = (el == window);\r\n var $el = $(el);\r\n var data = $el.data('blockUI.history');\r\n var to = $el.data('blockUI.timeout');\r\n if (to) {\r\n clearTimeout(to);\r\n $el.removeData('blockUI.timeout');\r\n }\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n bind(0, el, opts); // unbind events\r\n\r\n if (opts.onUnblock === null) {\r\n opts.onUnblock = $el.data('blockUI.onUnblock');\r\n $el.removeData('blockUI.onUnblock');\r\n }\r\n\r\n var els;\r\n if (full) // crazy selector to handle odd field errors in ie6/7\r\n els = $('body').children().filter('.blockUI').add('body > .blockUI');\r\n else\r\n els = $el.find('>.blockUI');\r\n\r\n // fix cursor issue\r\n if (opts.cursorReset) {\r\n if (els.length > 1)\r\n els[1].style.cursor = opts.cursorReset;\r\n if (els.length > 2)\r\n els[2].style.cursor = opts.cursorReset;\r\n }\r\n\r\n if (full)\r\n pageBlock = pageBlockEls = null;\r\n\r\n if (opts.fadeOut) {\r\n count = els.length;\r\n els.stop().fadeOut(opts.fadeOut, function () {\r\n if (--count === 0)\r\n reset(els, data, opts, el);\r\n });\r\n } else\r\n reset(els, data, opts, el);\r\n }\r\n\r\n // move blocking element back into the DOM where it started\r\n function reset(els, data, opts, el) {\r\n var $el = $(el);\r\n if ($el.data('blockUI.isBlocked'))\r\n return;\r\n\r\n els.each(function (i, o) {\r\n // remove via DOM calls so we don't lose event handlers\r\n if (this.parentNode)\r\n this.parentNode.removeChild(this);\r\n });\r\n\r\n if (data && data.el) {\r\n data.el.style.display = data.display;\r\n //data.el.style.position = data.position;\r\n if (data.parent)\r\n data.parent.appendChild(data.el);\r\n $el.removeData('blockUI.history');\r\n }\r\n\r\n if ($el.data('blockUI.static')) {\r\n $el.css('position', 'static'); // #22\r\n }\r\n\r\n if (typeof opts.onUnblock == 'function')\r\n opts.onUnblock(el, opts);\r\n\r\n // fix issue in Safari 6 where block artifacts remain until reflow\r\n var body = $(document.body),\r\n w = body.width(),\r\n cssW = body[0].style.width;\r\n body.width(w - 1).width(w);\r\n body[0].style.width = cssW;\r\n }\r\n\r\n // bind/unbind the handler\r\n function bind(b, el, opts) {\r\n var full = el == window,\r\n $el = $(el);\r\n\r\n // don't bother unbinding if there is nothing to unbind\r\n if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))\r\n return;\r\n\r\n $el.data('blockUI.isBlocked', b);\r\n\r\n // don't bind events when overlay is not in use or if bindEvents is false\r\n if (!full || !opts.bindEvents || (b && !opts.showOverlay))\r\n return;\r\n\r\n // bind anchors and inputs for mouse and key events\r\n var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';\r\n if (b)\r\n $(document).bind(events, opts, handler);\r\n else\r\n $(document).unbind(events, handler);\r\n\r\n // former impl...\r\n //\t\tvar $e = $('a,:input');\r\n //\t\tb ? $e.bind(events, opts, handler) : $e.unbind(events, handler);\r\n }\r\n\r\n // event handler to suppress keyboard/mouse events when blocking\r\n function handler(e) {\r\n // allow tab navigation (conditionally)\r\n if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {\r\n if (pageBlock && e.data.constrainTabKey) {\r\n var els = pageBlockEls;\r\n var fwd = !e.shiftKey && e.target === els[els.length - 1];\r\n var back = e.shiftKey && e.target === els[0];\r\n if (fwd || back) {\r\n setTimeout(function () {\r\n focus(back);\r\n }, 10);\r\n return false;\r\n }\r\n }\r\n }\r\n var opts = e.data;\r\n var target = $(e.target);\r\n if (target.hasClass('blockOverlay') && opts.onOverlayClick)\r\n opts.onOverlayClick(e);\r\n\r\n // allow events within the message content\r\n if (target.parents('div.' + opts.blockMsgClass).length > 0)\r\n return true;\r\n\r\n // allow events for content that is not being blocked\r\n return target.parents().children().filter('div.blockUI').length === 0;\r\n }\r\n\r\n function focus(back) {\r\n if (!pageBlockEls)\r\n return;\r\n var e = pageBlockEls[back === true ? pageBlockEls.length - 1 : 0];\r\n if (e)\r\n e.focus();\r\n }\r\n\r\n function center(el, x, y) {\r\n var p = el.parentNode,\r\n s = el.style;\r\n var l = ((p.offsetWidth - el.offsetWidth) / 2) - sz(p, 'borderLeftWidth');\r\n var t = ((p.offsetHeight - el.offsetHeight) / 2) - sz(p, 'borderTopWidth');\r\n if (x) s.left = l > 0 ? (l + 'px') : '0';\r\n if (y) s.top = t > 0 ? (t + 'px') : '0';\r\n }\r\n\r\n function sz(el, p) {\r\n return parseInt($.css(el, p), 10) || 0;\r\n }\r\n\r\n }\r\n\r\n\r\n /*global define:true */\r\n if (typeof define === 'function' && define.amd && define.amd.jQuery) {\r\n define(['jquery'], setup);\r\n } else {\r\n setup(jQuery);\r\n }\r\n\r\n})();","/*\r\nkendo.culture.pl-pl.min.js\r\n*/\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, y) {\r\n kendo.cultures[\"pl-PL\"] = {\r\n name: \"pl-PL\", numberFormat: {\r\n pattern: [\"-n\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], percent: {\r\n pattern: [\"-n%\", \"n%\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"%\"\r\n }\r\n , currency: {\r\n name: \"Polish Zloty\", abbr: \"PLN\", pattern: [\"-n $\", \"n $\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"zł\"\r\n }\r\n }\r\n , calendars: {\r\n standard: {\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"], namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"], namesShort: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"]\r\n }\r\n , months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\"], namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\"]\r\n }\r\n , AM: [\"AM\", \"am\", \"AM\"], PM: [\"PM\", \"pm\", \"PM\"], patterns: {\r\n d: \"dd.MM.yyyy\", D: \"dddd, d MMMM yyyy\", F: \"dddd, d MMMM yyyy HH:mm:ss\", g: \"dd.MM.yyyy HH:mm\", G: \"dd.MM.yyyy HH:mm:ss\", m: \"d MMMM\", M: \"d MMMM\", s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\", t: \"HH:mm\", T: \"HH:mm:ss\", u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\", y: \"MMMM yyyy\", Y: \"MMMM yyyy\"\r\n }\r\n , \"/\": \".\", \":\": \":\", firstDay: 1\r\n }\r\n }\r\n }\r\n }\r\n (this)\r\n }\r\n\r\n);\r\n\r\n/*\r\n * kendo.culture.pl.min.js\r\n */\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, y) {\r\n kendo.cultures.pl = {\r\n name: \"pl\", numberFormat: {\r\n pattern: [\"-n\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], percent: {\r\n pattern: [\"-n%\", \"n%\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"%\"\r\n }\r\n , currency: {\r\n name: \"\", abbr: \"\", pattern: [\"-n $\", \"n $\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"zł\"\r\n }\r\n }\r\n , calendars: {\r\n standard: {\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"], namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"], namesShort: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"]\r\n }\r\n , months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\"], namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\"]\r\n }\r\n , AM: [\"AM\", \"am\", \"AM\"], PM: [\"PM\", \"pm\", \"PM\"], patterns: {\r\n d: \"dd.MM.yyyy\", D: \"dddd, d MMMM yyyy\", F: \"dddd, d MMMM yyyy HH:mm:ss\", g: \"dd.MM.yyyy HH:mm\", G: \"dd.MM.yyyy HH:mm:ss\", m: \"d MMMM\", M: \"d MMMM\", s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\", t: \"HH:mm\", T: \"HH:mm:ss\", u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\", y: \"MMMM yyyy\", Y: \"MMMM yyyy\"\r\n }\r\n , \"/\": \".\", \":\": \":\", firstDay: 1\r\n }\r\n }\r\n }\r\n }\r\n (this)\r\n }\r\n\r\n);\r\n/*\r\n * kendo.messages.pl-PL.min.js\r\n */\r\n\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, o) {\r\n kendo.ui.FilterCell && (kendo.ui.FilterCell.prototype.options.operators = e.extend(!0, kendo.ui.FilterCell.prototype.options.operators, {\r\n date: {\r\n eq: \"są równe\", gte: \"są późniejsze lub równe\", gt: \"są późniejsze niż\", lte: \"są wcześniejsze lub równe\", lt: \"są wcześniejsze niż\", neq: \"są inne niż\", isnull: \"brak daty\", isnotnull: \"mają datę\"\r\n }\r\n , number: {\r\n eq: \"są równe\", gte: \"są większe lub równe\", gt: \"są większe niż\", lte: \"są mniejsze lub równe\", lt: \"są mniejsze niż\", neq: \"są inne niż\", isnull: \"pusta wartość\", isnotnull: \"niepusta wartość\"\r\n }\r\n , string: {\r\n endswith: \"kończą się na\", eq: \"są równe\", neq: \"są inne niż\", startswith: \"zaczynają się od\", contains: \"zawierają\", doesnotcontain: \"nie zawierają\"\r\n }\r\n , enums: {\r\n eq: \"są równe\", neq: \"są inne niż\"\r\n }\r\n }\r\n )), kendo.ui.FilterMenu && (kendo.ui.FilterMenu.prototype.options.operators = e.extend(!0, kendo.ui.FilterMenu.prototype.options.operators, {\r\n date: {\r\n eq: \"są równe\", gte: \"są późniejsze lub równe\", gt: \"są późniejsze niż\", lte: \"są wcześniejsze lub równe\", lt: \"są wcześniejsze niż\", neq: \"są inne niż\"\r\n }\r\n , number: {\r\n eq: \"są równe\", gte: \"są większe lub równe\", gt: \"są większe niż\", lte: \"są mniejsze lub równe\", lt: \"są mniejsze niż\", neq: \"są inne niż\"\r\n }\r\n , string: {\r\n endswith: \"kończą się na\", eq: \"są równe\", neq: \"są inne niż\", startswith: \"zaczynają się od\", contains: \"zawierają\", doesnotcontain: \"nie zawierają\"\r\n }\r\n , enums: {\r\n eq: \"są równe\", neq: \"są inne niż\"\r\n }\r\n }\r\n )), kendo.ui.ColumnMenu && (kendo.ui.ColumnMenu.prototype.options.messages = e.extend(!0, kendo.ui.ColumnMenu.prototype.options.messages, {\r\n filter: \"Filtr\", columns: \"Kolumny\", sortAscending: \"Sortuj Rosnąco\", sortDescending: \"Sortuj malejąco\", settings: \"Ustawienia kolumn\", done: \"Sporządzono\", lock: \"Zablokować\", unlock: \"Odblokować\"\r\n }\r\n )), kendo.ui.RecurrenceEditor && (kendo.ui.RecurrenceEditor.prototype.options.messages = e.extend(!0, kendo.ui.RecurrenceEditor.prototype.options.messages, {\r\n daily: {\r\n interval: \"dzień (dni)\", repeatEvery: \"Powtarzaj każdy:\"\r\n },\r\n end: {\r\n after: \"Po\", occurrence: \"występujący (występujące)\", label: \"Koniec:\", never: \"Nigdy\", on: \"Na\", mobileLabel: \"Zakończenie\"\r\n },\r\n frequencies: {\r\n daily: \"Dziennie\", monthly: \"Miesięcznie\", never: \"Nigdy\", weekly: \"Tygodniowo\", yearly: \"Rocznie\"\r\n },\r\n monthly: {\r\n day: \"Dzień\", interval: \"miesiąc (miesiące)\", repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\"\r\n },\r\n offsetPositions: {\r\n first: \"pierwszy\", fourth: \"czwarty\", last: \"ostatni\", second: \"drugi\", third: \"trzeci\"\r\n },\r\n weekly: {\r\n repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\", interval: \"tydzień (tygodnie)\"\r\n },\r\n yearly: {\r\n of: \" \", repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\", interval: \"rok (lata)\"\r\n },\r\n weekdays: {\r\n day: \"dzień\", weekday: \"dzień tygodnia\", weekend: \"dzień weekendu\"\r\n }\r\n }\r\n )), kendo.ui.Grid && (kendo.ui.Grid.prototype.options.messages = e.extend(!0, kendo.ui.Grid.prototype.options.messages, {\r\n commands: {\r\n create: \"Wstaw\", destroy: \"Usuń\", canceledit: \"Anuluj\", update: \"Aktualizuj\", edit: \"Edycja\", excel: \"Export to Excel\", pdf: \"Export to PDF\", select: \"Zaznacz\", cancel: \"Anuluj zmiany\", save: \"Zapisz zmiany\"\r\n }\r\n , editable: {\r\n confirmation: \"Czy na pewno chcesz usunąć ten rekord?\", cancelDelete: \"Anuluj\", confirmDelete: \"Usuń\"\r\n },\r\n\r\n }\r\n )), kendo.ui.Grid && (kendo.ui.Grid.prototype = e.extend(!0, kendo.ui.Grid.prototype, {\r\n _checkRows: function (t) {\r\n t.each(function () {\r\n e(this).addClass(\"k-state-selected\").find(\"input[data-role='checkbox'].k-checkbox\").prop(\"checked\", !0).attr(\"aria-label\", \"Odznacz wiersz\").attr(\"aria-checked\", !0)\r\n })\r\n },\r\n _uncheckCheckBoxes: function () {\r\n var e = this,\r\n t = e.table.add(e.lockedTable);\r\n t.find(\"tbody input[data-role='checkbox'].k-checkbox\").attr(\"aria-checked\", !1).prop(\"checked\", !1).attr(\"aria-label\", \"Odznacz wiersz\")\r\n },\r\n _deselectCheckRows: function (t) {\r\n var r = this;\r\n t = r.table.add(r.lockedTable).find(t), r._isLocked() && (t = t.add(t.map(function () {\r\n return r._relatedRow(this)\r\n }))), t.each(function () {\r\n e(this).removeClass(\"k-state-selected\").find(\"input[data-role='checkbox'].k-checkbox\").attr(\"aria-checked\", !1).prop(\"checked\", !1).attr(\"aria-label\", \"Zaznacz wiersz\")\r\n }), r._toggleHeaderCheckState(!1), r._persistSelectedRows(), r.trigger(\"change\")\r\n },\r\n }\r\n )), kendo.ui.Pager && (kendo.ui.Pager.prototype.options = e.extend(!0, kendo.ui.Pager.prototype.options, {\r\n ARIATemplate: \"Nawigacja po stronie, strona #=page# z #=totalPages#\"\r\n }\r\n )), kendo.ui.Pager && (kendo.ui.Pager.prototype.options.messages = e.extend(!0, kendo.ui.Pager.prototype.options.messages, {\r\n allPages: \"Wszystkie\", page: \"Strona\", display: \"Wyświetlanie elementów {0} - {1} z {2}\", of: \"z {0}\", empty: \"Brak danych\", refresh: \"Odśwież\", first: \"Idź do pierwszej strony\", itemsPerPage: \"na stronę\", last: \"Przejdź do ostatniej strony\", next: \"Przejdź do następnej strony\", previous: \"Przejdź do poprzedniej strony\", morePages: \"Więcej stron\"\r\n }\r\n )), kendo.ui.TreeListPager && (kendo.ui.TreeListPager.prototype.options.messages = e.extend(!0, kendo.ui.TreeListPager.prototype.options.messages, {\r\n allPages: \"Wszystkie\", page: \"Strona\", display: \"Wyświetlanie elementów {0} - {1} z {2}\", of: \"z {0}\", empty: \"Brak danych\", refresh: \"Odśwież\", first: \"Idź do pierwszej strony\", itemsPerPage: \"na stronę\", last: \"Przejdź do ostatniej strony\", next: \"Przejdź do następnej strony\", previous: \"Przejdź do poprzedniej strony\", morePages: \"Więcej stron\"\r\n }\r\n )), kendo.ui.FilterCell && (kendo.ui.FilterCell.prototype.options.messages = e.extend(!0, kendo.ui.FilterCell.prototype.options.messages, {\r\n filter: \"Filtr\", clear: \"Wyczyść filtr\", isFalse: \"fałsz\", isTrue: \"prawda\", operator: \"Operator\"\r\n }\r\n )), kendo.ui.FilterMenu && (kendo.ui.FilterMenu.prototype.options.messages = e.extend(!0, kendo.ui.FilterMenu.prototype.options.messages, {\r\n filter: \"Filtr\", and: \"Oraz\", clear: \"Wyczyść filtr\", info: \"Pokaż wiersze o wartościach które\", title: \"Pokaż wiersze o wartościach które\", selectValue: \"-Wybierz wartość-\", isFalse: \"fałsz\", isTrue: \"prawda\", or: \"lub\", cancel: \"Anuluj\", operator: \"Operator\", value: \"Wartość\", additionalOperator: \"Dodatkowy operator\", additionalValue: \"Dodatkowa wartość\", logic: \"Logika filtru\"\r\n }\r\n )), kendo.ui.FilterMultiCheck && (kendo.ui.FilterMultiCheck.prototype.options.messages = e.extend(!0, kendo.ui.FilterMultiCheck.prototype.options.messages, {\r\n search: \"Szukaj\"\r\n }\r\n )), kendo.ui.Groupable && (kendo.ui.Groupable.prototype.options.messages = e.extend(!0, kendo.ui.Groupable.prototype.options.messages, {\r\n empty: \"Przeciągnij nagłówek kolumny i upuść go tutaj aby pogrupować według tej kolumny\"\r\n }\r\n )), kendo.ui.Editor && (kendo.ui.Editor.prototype.options.messages = e.extend(!0, kendo.ui.Editor.prototype.options.messages, {\r\n bold: \"Wytłuszczenie\",\r\n createLink: \"Wstaw link\",\r\n fontName: \"Wybierz czcionkę\",\r\n fontNameInherit: \"(czcionka odziedziczona)\",\r\n fontSize: \"Wybierz rozmiar czcionki\",\r\n fontSizeInherit: \"(rozmiar odziedziczony)\",\r\n formatBlock: \"Wybierz rozmiar bloku\",\r\n indent: \"Wcięcie\",\r\n insertHtml: \"Wstaw HTML\",\r\n insertImage: \"Wstaw obraz\",\r\n insertOrderedList: \"Wstaw listę numerowaną\",\r\n insertUnorderedList: \"Wstaw listę wypunktowaną\",\r\n italic: \"Kursywa\",\r\n justifyCenter: \"Centruj tekst\",\r\n justifyFull: \"Wyrównaj tekst\",\r\n justifyLeft: \"Wyrównaj tekst do lewej\",\r\n justifyRight: \"Wyrównaj tekst do prawej\",\r\n outdent: \"Zmniejsz wcięcie\",\r\n strikethrough: \"Przekreślenie\",\r\n styles: \"Styl\",\r\n subscript: \"Subscript\",\r\n superscript: \"Superscript\",\r\n underline: \"Podkreślenie\",\r\n unlink: \"Usuń link\",\r\n deleteFile: 'Czy na pewno chcesz usunąć \"{0}\"?',\r\n directoryNotFound: \"Folder o tej nazwie nie został znaleziony.\",\r\n emptyFolder: \"Opróżnij folder\",\r\n invalidFileType: 'Wybrany plik \"{0}\" nie jest prawidłowy. Obsługiwane typy plików to: {1}.',\r\n orderBy: \"Uporządkuj wg:\",\r\n orderByName: \"Nazwa\",\r\n orderBySize: \"Rozmiar\",\r\n overwriteFile: 'Plik o nazwie \"{0}\" istnieje już w bieżącym folderze. Czy chcesz go zastąpić?',\r\n uploadFile: \"Załaduj\",\r\n backColor: \"Kolor tła\",\r\n foreColor: \"Kolor\",\r\n dialogButtonSeparator: \"or\",\r\n dialogCancel: \"Anuluj\",\r\n dialogInsert: \"Wstaw\",\r\n imageAltText: \"Opis\",\r\n imageWebAddress: \"URL\",\r\n imageWidth: \"Szerokość (px)\",\r\n imageHeight: \"Wysokość (px)\",\r\n linkWebAddress: \"URL\",\r\n linkText: \"Tekst\",\r\n linkToolTip: \"Podpowiedź\",\r\n linkOpenInNewWindow: \"Otwórz w nowym oknie\",\r\n search: \"Search\",\r\n createTable: \"Tworzenie tabeli\",\r\n createTableHint: \"Utwórz tabelę {0} x {1}\",\r\n addColumnLeft: \"Dodaj kolumnę z lewej\",\r\n addColumnRight: \"Dodaj kolumnę z prawej\",\r\n addRowAbove: \"Dodaj wiersz powyżej\",\r\n addRowBelow: \"Dodaj wiersz powyżej\",\r\n deleteRow: \"Usuń wiersz\",\r\n deleteColumn: \"Usuń kolumnę\",\r\n mergeCellsHorizontally: \"Złącz komórki w poziomie\",\r\n mergeCellsVertically: \"Złącz komórki w pionie\",\r\n splitCellHorizontally: \"Podziel komórki w poziomie\",\r\n splitCellVertically: \"Podziel komórki w pionie\",\r\n tableWizard: \"Szczegóły tabeli\",\r\n tableTab: \"Tabela\",\r\n cellTab: \"Komórka\",\r\n accessibilityTab: \"Dostępność\",\r\n caption: \"Nagłówek\",\r\n summary: \"Streszczenie\",\r\n width: \"Szerokość\",\r\n height: \"Wysokość\",\r\n units: \"Jednostki\",\r\n cellSpacing: \"Odstępy między komórkami\",\r\n cellPadding: \"Wewnętrzny odstęp komórek\",\r\n cellMargin: \"Margines komórek\",\r\n alignment: \"Wyrównanie\",\r\n background: \"Tło\",\r\n cssClass: \"Klasa CSS\",\r\n id: \"ID\",\r\n border: \"Brzegi\",\r\n borderStyle: \"Styl CSS brzegów\",\r\n collapseBorders: \"Sklejaj brzegi\",\r\n wrapText: \"Zawijanie wierszy\",\r\n associateCellsWithHeaders: \"Powiąż nagłówkami\",\r\n alignLeft: \"Wyrównaj w lewo\",\r\n alignCenter: \"Centruj\",\r\n alignRight: \"Wyrównaj w prawo\",\r\n alignLeftTop: \"Wyrównaj w prawo do góry\",\r\n alignCenterTop: \"Wyrównaj do środka do góry\",\r\n alignRightTop: \"Wyrównaj w prawo do góry\",\r\n alignLeftMiddle: \"Wyrównaj w lewo do środka\",\r\n alignCenterMiddle: \"Wyrównaj do środka\",\r\n alignRightMiddle: \"Wyrównaj w prawo do środka\",\r\n alignLeftBottom: \"Wyrównaj w lewo do dołu\",\r\n alignCenterBottom: \"Wyrównaj do środka do dołu\",\r\n alignRightBottom: \"Wyrównaj w prawo do dołu\",\r\n alignRemove: \"Usuń wyrównanie\",\r\n columns: \"Kolumny\",\r\n rows: \"Wiersze\",\r\n selectAllCells: \"Zaznacz wszystkie komórki\",\r\n dropFilesHere: \"umieść pliki tutaj, aby je wysłać\",\r\n formatting: \"Format\",\r\n viewHtml: \"Podgląd HTML\",\r\n dialogUpdate: \"Zaktualizuj\",\r\n insertFile: \"Wstaw plik\",\r\n editAreaTitle: \"Edycja treści. Wciśnij F10 aby przejść do paska narzędzi.\",\r\n }\r\n ));\r\n var t = {\r\n uploadFile: \"Wyślij\", orderBy: \"Sortuj wg\", orderByName: \"Nazwy\", orderBySize: \"Rozmiaru\", directoryNotFound: \"Folder o podanej nazwie nie został odnaleziony.\", emptyFolder: \"Pusty folder\", invalidFileType: 'Wybrany plik \"{0}\" jest nieprawidłowy. Obsługiwane pliki {1}.', deleteFile: 'Czy napewno chcesz usunąć plik \"{0}\"?', overwriteFile: 'Plik o nazwie \"{0}\" już istnieje w bieżącym folderze. Czy zastąpić?', dropFilesHere: \"umieść pliki tutaj, aby je wysłać\", search: \"Szukaj\"\r\n };\r\n kendo.ui.FileBrowser && (kendo.ui.FileBrowser.prototype.options.messages = e.extend(!0, kendo.ui.FileBrowser.prototype.options.messages, t)), kendo.ui.ImageBrowser && (kendo.ui.ImageBrowser.prototype.options.messages = e.extend(!0, kendo.ui.ImageBrowser.prototype.options.messages, t)), kendo.ui.Upload && (kendo.ui.Upload.prototype.options.localization = e.extend(!0, kendo.ui.Upload.prototype.options.localization, {\r\n cancel: \"Anuluj\", dropFilesHere: \"przeciągnij tu pliki aby je załadować\", remove: \"Usuń\", retry: \"Ponów\", select: \"Wybierz...\", statusFailed: \"niepowodzenie\", statusUploaded: \"załadowane\", statusUploading: \"trwa ładowanie\", uploadSelectedFiles: \"Załaduj pliki\", headerStatusUploaded: \"Zrobione\", headerStatusUploading: \"Wgrywanie...\", invalidMaxFileSize: \"Rozmiar pliku jest za duży.\", invalidMinFileSize: \"Rozmiar pliku jest za mały.\", invalidFileExtension: \"Niedozwolony rodzaj pliku.\"\r\n }\r\n )), kendo.ui.Scheduler && (kendo.ui.Scheduler.prototype.options.messages = e.extend(!0, kendo.ui.Scheduler.prototype.options.messages, {\r\n allDay: \"cały dzień\", cancel: \"Anuluj\", editable: {\r\n confirmation: \"Jesteś pewien, że chcesz usunąć do wydarzenie?\"\r\n }\r\n , date: \"Data\", destroy: \"Usuń\", editor: {\r\n allDayEvent: \"Wydarzenie całodniowe\", description: \"Opis\", editorTitle: \"Wydarzenie\", end: \"Koniec\", endTimezone: \"Koniec strefy czasowej\", repeat: \"P\", separateTimezones: \"Użyj oddzielnie początku i końca stref czasowych\", start: \"Początek\", startTimezone: \"Początek strefy czasowej\", timezone: \" \", timezoneEditorButton: \"Strefa czasowa\", timezoneEditorTitle: \"Strefy czasowe\", title: \"Tytuł\", noTimezone: \"Brak strefy czasowej\"\r\n }\r\n , event: \"Wydarzenie\", recurrenceMessages: {\r\n deleteRecurring: \"Chcesz usunąć tylko wskazane wystąpienie zdarzenia czy całą ich serię?\", deleteWindowOccurrence: \"Usuń obecne zdarzenie\", deleteWindowSeries: \"Usuń serie\", deleteWindowTitle: \"Usuń powtarzający się obiekt\", editRecurring: \"Czesz edytować tylko wskazane wystąpienie zdarzenia czy całą ich serię?\", editWindowOccurrence: \"Edytuj obecne zdarzenie\", editWindowSeries: \"Edytu serie\", editWindowTitle: \"Edytuj powtarzający się obiekt\"\r\n }\r\n , save: \"Zapisz\", time: \"Czas\", today: \"Dziś\", views: {\r\n agenda: \"Agenda\", day: \"Dzień\", month: \"Miesiąc\", week: \"Tydzień\", workWeek: \"Tydzień roboczy\"\r\n }\r\n , deleteWindowTitle: \"Usuń wydarzenie\", showFullDay: \"Pokaż cały dzień\", showWorkDay: \"Pokaż godziny robocze\", next: \"Następny\", previous: \"Poprzedni\", ariaSlotLabel: \"Zaznaczone od {0:t} do {1:t}\", ariaEventLabel: \"{0} na {1:D} w {2:t}\",\r\n }\r\n )), kendo.ui.Dialog && (kendo.ui.Dialog.prototype.options.messages = e.extend(!0, kendo.ui.Dialog.prototype.options.localization, {\r\n close: \"Zamknąć\"\r\n }\r\n )), kendo.ui.Alert && (kendo.ui.Alert.prototype.options.messages = e.extend(!0, kendo.ui.Alert.prototype.options.localization, {\r\n okText: \"OK\"\r\n }\r\n )), kendo.ui.Confirm && (kendo.ui.Confirm.prototype.options.messages = e.extend(!0, kendo.ui.Confirm.prototype.options.localization, {\r\n okText: \"OK\", cancel: \"Anuluj\"\r\n }\r\n )), kendo.ui.Prompt && (kendo.ui.Prompt.prototype.options.messages = e.extend(!0, kendo.ui.Prompt.prototype.options.localization, {\r\n okText: \"OK\", cancel: \"Anuluj\"\r\n }\r\n )), kendo.ui.ColorPicker && (kendo.ui.ColorPicker.prototype.options = e.extend(!0, kendo.ui.ColorPicker.prototype.options, {\r\n ARIATemplate: 'Aktualnie wybrany kolor to #=data || \"\"#'\r\n }\r\n )), kendo.ui.DatePicker && (kendo.ui.DatePicker.prototype.options = e.extend(!0, kendo.ui.DatePicker.prototype.options, {\r\n ARIATemplate: 'Aktualnie wybrana data to #=kendo.toString(data.current, \"D\")#',\r\n dateButtonText: \"Otwórz podgląd daty\",\r\n timeButtonText: \"Otwórz podgląd czasu\",\r\n }\r\n )), kendo.ui.DropDownList && (kendo.ui.DropDownList.prototype = e.extend(!0, kendo.ui.DropDownList.prototype, {\r\n _span: function () {\r\n var t, i = this,\r\n n = i.wrapper,\r\n s = \"span.k-input\";\r\n t = n.find(s), t[0] || (n.append(' ').append(i.element), t = n.find(s)), i.span = t, i._inputWrapper = e(n[0].firstChild), i._arrow = n.find(\".k-select\"), i._arrowIcon = i._arrow.find(\".k-icon\")\r\n }\r\n }\r\n )), kendo.ui.NumericTextBox && (kendo.ui.NumericTextBox.prototype.options = e.extend(!0, kendo.ui.NumericTextBox.prototype.options, {\r\n upArrowText: \"Zwiększ wartość\", downArrowText: \"Zmniejsz wartość\"\r\n }\r\n )), kendo.ui.DatePicker && (kendo.ui.DatePicker.prototype = e.extend(!0, kendo.ui.DatePicker.prototype, {\r\n _icon: function () {\r\n var t, a = this,\r\n n = a.element;\r\n t = n.next(\"span.k-select\"), t[0] || (t = e('').insertAfter(n)), a._dateIcon = t.attr({\r\n role: \"button\",\r\n \"aria-controls\": a.dateView._dateViewID\r\n })\r\n }\r\n }\r\n )), kendo.ui.SchedulerView && (kendo.ui.SchedulerView.prototype = e.extend(!0, kendo.ui.SchedulerView.prototype, {\r\n _verticalSlots: function (t, e, n, o) {\r\n if (e[0] !== undefined) {\r\n var i, s, r = this.groups[t.groupIndex],\r\n l = {\r\n startSlot: e[0].start,\r\n endSlot: e[e.length - 1].end\r\n };\r\n return n || (i = this._normalizeVerticalSelection(t, e, o), i && (l.startSlot = l.endSlot = i)), s = o ? \"upSlot\" : \"downSlot\", l = this._getNextVerticalRange(r, s, l, n), n || !this._isVerticallyGrouped() || l.startSlot && l.endSlot || (l.startSlot = l.endSlot = this._isGroupedByDate() ? this._changeDate(t, i, o) : this._changeGroup(t, o)), l\r\n }\r\n return false;\r\n }\r\n }\r\n )), kendo.ui.MultiDayView && (kendo.ui.MultiDayView.prototype = e.extend(!0, kendo.ui.MultiDayView.prototype, {\r\n _updateDirection: function (e, t, a, s, i) {\r\n if (t[0] !== undefined) {\r\n var n = e.isAllDay,\r\n o = t[0].start,\r\n r = t[t.length - 1].end;\r\n a && (i ? n || o.index !== r.index || o.collectionIndex !== r.collectionIndex || (e.backward = s) : (n && o.index === r.index || !n && o.collectionIndex === r.collectionIndex) && (e.backward = s))\r\n }\r\n }\r\n }))\r\n // , kendo.ui.Switch && (kendo.ui.Switch.prototype = e.extend(!0, kendo.ui.Switch.prototype, {\r\n // _aria: function () {\r\n // var t, c = this,\r\n // a = c.element,\r\n // i = c.wrapper,\r\n // s = a.attr(\"id\"),\r\n // d = e('label[for=\"' + s + '\"]'),\r\n // l = a.attr(\"aria-label\"),\r\n // r = a.attr(\"aria-labelledby\"),\r\n // db = a.attr(\"aria-describedby\"); <- dodane\r\n // l ? i.attr(\"aria-label\", l) : r ? i.attr(\"aria-labelledby\", r) : d.length && (t = d.attr(\"id\"), t || (t = (s || n.guid()) + b, d.attr(\"id\", t)), i.attr(\"aria-labelledby\", t)) && db ? i.attr(\"aria-describedby\", db) : d.length <- dodane\r\n // }\r\n //}\r\n }\r\n (window.kendo.jQuery)\r\n }\r\n);\r\n\r\n\r\n\r\n","var ErrorHandling = {\r\n config: {\r\n noBasePage: \"\",\r\n maintenancePage: \"\",\r\n },\r\n init: function (options) {\r\n this.config = $.extend(this.config, options);\r\n $(document).ajaxError($.proxy(this.ajaxErrorHandling, this));\r\n window.onerror = $.proxy(this.jsErrorHandling, this);\r\n },\r\n ajaxErrorHandling: function (event, jqXHR, ajaxSettings, thrownError) {\r\n if (jqXHR.status == 501) {\r\n window.location.href = this.config.noBasePage;\r\n } else if (jqXHR.status == 520) {\r\n window.location.href = this.config.maintenancePage;\r\n } else if (jqXHR.status == 500) {\r\n var response;\r\n try {\r\n response = $.parseJSON(jqXHR.responseText);\r\n } catch (err) { };\r\n\r\n var body = ErrorHandling.messages.ajaxErrorBody(ajaxSettings.type, ajaxSettings.url)\r\n\r\n if (response && response.exception && response.message) {\r\n body += ErrorHandling.messages.ajaxErrorExceptionClass(response.exception) + ErrorHandling.messages.ajaxErrorExceptionMessage(response.message);\r\n } else if (jqXHR.responseText.indexOf(\"\") > -1) {\r\n body += ErrorHandling.messages.ajaxErrorExceptionMessage(jqXHR.responseText);\r\n }\r\n alertMsg({\r\n title: ErrorHandling.messages.ajaxErrorTitle,\r\n message: body\r\n });\r\n }\r\n },\r\n jsErrorHandling: function (description, page, line) {\r\n alertMsg({\r\n title: ErrorHandling.messages.jsErrorTitle,\r\n message: ErrorHandling.messages.jsErrorBody(description, page, line)\r\n });\r\n }\r\n}","/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * Originally written by (c) 2016 Javi Aguilar\n * Licensed under the MIT License\n * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n *\n */\n(function(a) {\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], a);\n } else {\n a(jQuery);\n }\n})(function(a) {\n a.ui = a.ui || {};\n var b = a.ui.version = \"1.12.1\";\n /*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n (function() {\n var b, c = Math.max, d = Math.abs, e = /left|center|right/, f = /top|center|bottom/, g = /[\\+\\-]\\d+(\\.[\\d]+)?%?/, h = /^\\w+/, i = /%$/, j = a.fn.pos;\n function k(a, b, c) {\n return [ parseFloat(a[0]) * (i.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (i.test(a[1]) ? c / 100 : 1) ];\n }\n function l(b, c) {\n return parseInt(a.css(b, c), 10) || 0;\n }\n function m(b) {\n var c = b[0];\n if (c.nodeType === 9) {\n return {\n width: b.width(),\n height: b.height(),\n offset: {\n top: 0,\n left: 0\n }\n };\n }\n if (a.isWindow(c)) {\n return {\n width: b.width(),\n height: b.height(),\n offset: {\n top: b.scrollTop(),\n left: b.scrollLeft()\n }\n };\n }\n if (c.preventDefault) {\n return {\n width: 0,\n height: 0,\n offset: {\n top: c.pageY,\n left: c.pageX\n }\n };\n }\n return {\n width: b.outerWidth(),\n height: b.outerHeight(),\n offset: b.offset()\n };\n }\n a.pos = {\n scrollbarWidth: function() {\n if (b !== undefined) {\n return b;\n }\n var c, d, e = a(\"
    \" + \"
    \"), f = e.children()[0];\n a(\"body\").append(e);\n c = f.offsetWidth;\n e.css(\"overflow\", \"scroll\");\n d = f.offsetWidth;\n if (c === d) {\n d = e[0].clientWidth;\n }\n e.remove();\n return b = c - d;\n },\n getScrollInfo: function(b) {\n var c = b.isWindow || b.isDocument ? \"\" : b.element.css(\"overflow-x\"), d = b.isWindow || b.isDocument ? \"\" : b.element.css(\"overflow-y\"), e = c === \"scroll\" || c === \"auto\" && b.width < b.element[0].scrollWidth, f = d === \"scroll\" || d === \"auto\" && b.height < b.element[0].scrollHeight;\n return {\n width: f ? a.pos.scrollbarWidth() : 0,\n height: e ? a.pos.scrollbarWidth() : 0\n };\n },\n getWithinInfo: function(b) {\n var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9, f = !d && !e;\n return {\n element: c,\n isWindow: d,\n isDocument: e,\n offset: f ? a(b).offset() : {\n left: 0,\n top: 0\n },\n scrollLeft: c.scrollLeft(),\n scrollTop: c.scrollTop(),\n width: c.outerWidth(),\n height: c.outerHeight()\n };\n }\n };\n a.fn.pos = function(b) {\n if (!b || !b.of) {\n return j.apply(this, arguments);\n }\n b = a.extend({}, b);\n var i, n, o, p, q, r, s = a(b.of), t = a.pos.getWithinInfo(b.within), u = a.pos.getScrollInfo(t), v = (b.collision || \"flip\").split(\" \"), w = {};\n r = m(s);\n if (s[0].preventDefault) {\n b.at = \"left top\";\n }\n n = r.width;\n o = r.height;\n p = r.offset;\n q = a.extend({}, p);\n a.each([ \"my\", \"at\" ], function() {\n var a = (b[this] || \"\").split(\" \"), c, d;\n if (a.length === 1) {\n a = e.test(a[0]) ? a.concat([ \"center\" ]) : f.test(a[0]) ? [ \"center\" ].concat(a) : [ \"center\", \"center\" ];\n }\n a[0] = e.test(a[0]) ? a[0] : \"center\";\n a[1] = f.test(a[1]) ? a[1] : \"center\";\n c = g.exec(a[0]);\n d = g.exec(a[1]);\n w[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];\n b[this] = [ h.exec(a[0])[0], h.exec(a[1])[0] ];\n });\n if (v.length === 1) {\n v[1] = v[0];\n }\n if (b.at[0] === \"right\") {\n q.left += n;\n } else if (b.at[0] === \"center\") {\n q.left += n / 2;\n }\n if (b.at[1] === \"bottom\") {\n q.top += o;\n } else if (b.at[1] === \"center\") {\n q.top += o / 2;\n }\n i = k(w.at, n, o);\n q.left += i[0];\n q.top += i[1];\n return this.each(function() {\n var e, f, g = a(this), h = g.outerWidth(), j = g.outerHeight(), m = l(this, \"marginLeft\"), r = l(this, \"marginTop\"), x = h + m + l(this, \"marginRight\") + u.width, y = j + r + l(this, \"marginBottom\") + u.height, z = a.extend({}, q), A = k(w.my, g.outerWidth(), g.outerHeight());\n if (b.my[0] === \"right\") {\n z.left -= h;\n } else if (b.my[0] === \"center\") {\n z.left -= h / 2;\n }\n if (b.my[1] === \"bottom\") {\n z.top -= j;\n } else if (b.my[1] === \"center\") {\n z.top -= j / 2;\n }\n z.left += A[0];\n z.top += A[1];\n e = {\n marginLeft: m,\n marginTop: r\n };\n a.each([ \"left\", \"top\" ], function(c, d) {\n if (a.ui.pos[v[c]]) {\n a.ui.pos[v[c]][d](z, {\n targetWidth: n,\n targetHeight: o,\n elemWidth: h,\n elemHeight: j,\n collisionPosition: e,\n collisionWidth: x,\n collisionHeight: y,\n offset: [ i[0] + A[0], i[1] + A[1] ],\n my: b.my,\n at: b.at,\n within: t,\n elem: g\n });\n }\n });\n if (b.using) {\n f = function(a) {\n var e = p.left - z.left, f = e + n - h, i = p.top - z.top, k = i + o - j, l = {\n target: {\n element: s,\n left: p.left,\n top: p.top,\n width: n,\n height: o\n },\n element: {\n element: g,\n left: z.left,\n top: z.top,\n width: h,\n height: j\n },\n horizontal: f < 0 ? \"left\" : e > 0 ? \"right\" : \"center\",\n vertical: k < 0 ? \"top\" : i > 0 ? \"bottom\" : \"middle\"\n };\n if (n < h && d(e + f) < n) {\n l.horizontal = \"center\";\n }\n if (o < j && d(i + k) < o) {\n l.vertical = \"middle\";\n }\n if (c(d(e), d(f)) > c(d(i), d(k))) {\n l.important = \"horizontal\";\n } else {\n l.important = \"vertical\";\n }\n b.using.call(this, a, l);\n };\n }\n g.offset(a.extend(z, {\n using: f\n }));\n });\n };\n a.ui.pos = {\n _trigger: function(a, b, c, d) {\n if (b.elem) {\n b.elem.trigger({\n type: c,\n position: a,\n positionData: b,\n triggered: d\n });\n }\n },\n fit: {\n left: function(b, d) {\n a.ui.pos._trigger(b, d, \"posCollide\", \"fitLeft\");\n var e = d.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - d.collisionPosition.marginLeft, i = f - h, j = h + d.collisionWidth - g - f, k;\n if (d.collisionWidth > g) {\n if (i > 0 && j <= 0) {\n k = b.left + i + d.collisionWidth - g - f;\n b.left += i - k;\n } else if (j > 0 && i <= 0) {\n b.left = f;\n } else {\n if (i > j) {\n b.left = f + g - d.collisionWidth;\n } else {\n b.left = f;\n }\n }\n } else if (i > 0) {\n b.left += i;\n } else if (j > 0) {\n b.left -= j;\n } else {\n b.left = c(b.left - h, b.left);\n }\n a.ui.pos._trigger(b, d, \"posCollided\", \"fitLeft\");\n },\n top: function(b, d) {\n a.ui.pos._trigger(b, d, \"posCollide\", \"fitTop\");\n var e = d.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = d.within.height, h = b.top - d.collisionPosition.marginTop, i = f - h, j = h + d.collisionHeight - g - f, k;\n if (d.collisionHeight > g) {\n if (i > 0 && j <= 0) {\n k = b.top + i + d.collisionHeight - g - f;\n b.top += i - k;\n } else if (j > 0 && i <= 0) {\n b.top = f;\n } else {\n if (i > j) {\n b.top = f + g - d.collisionHeight;\n } else {\n b.top = f;\n }\n }\n } else if (i > 0) {\n b.top += i;\n } else if (j > 0) {\n b.top -= j;\n } else {\n b.top = c(b.top - h, b.top);\n }\n a.ui.pos._trigger(b, d, \"posCollided\", \"fitTop\");\n }\n },\n flip: {\n left: function(b, c) {\n a.ui.pos._trigger(b, c, \"posCollide\", \"flipLeft\");\n var e = c.within, f = e.offset.left + e.scrollLeft, g = e.width, h = e.isWindow ? e.scrollLeft : e.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === \"left\" ? -c.elemWidth : c.my[0] === \"right\" ? c.elemWidth : 0, m = c.at[0] === \"left\" ? c.targetWidth : c.at[0] === \"right\" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;\n if (j < 0) {\n o = b.left + l + m + n + c.collisionWidth - g - f;\n if (o < 0 || o < d(j)) {\n b.left += l + m + n;\n }\n } else if (k > 0) {\n p = b.left - c.collisionPosition.marginLeft + l + m + n - h;\n if (p > 0 || d(p) < k) {\n b.left += l + m + n;\n }\n }\n a.ui.pos._trigger(b, c, \"posCollided\", \"flipLeft\");\n },\n top: function(b, c) {\n a.ui.pos._trigger(b, c, \"posCollide\", \"flipTop\");\n var e = c.within, f = e.offset.top + e.scrollTop, g = e.height, h = e.isWindow ? e.scrollTop : e.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === \"top\", m = l ? -c.elemHeight : c.my[1] === \"bottom\" ? c.elemHeight : 0, n = c.at[1] === \"top\" ? c.targetHeight : c.at[1] === \"bottom\" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;\n if (j < 0) {\n q = b.top + m + n + o + c.collisionHeight - g - f;\n if (q < 0 || q < d(j)) {\n b.top += m + n + o;\n }\n } else if (k > 0) {\n p = b.top - c.collisionPosition.marginTop + m + n + o - h;\n if (p > 0 || d(p) < k) {\n b.top += m + n + o;\n }\n }\n a.ui.pos._trigger(b, c, \"posCollided\", \"flipTop\");\n }\n },\n flipfit: {\n left: function() {\n a.ui.pos.flip.left.apply(this, arguments);\n a.ui.pos.fit.left.apply(this, arguments);\n },\n top: function() {\n a.ui.pos.flip.top.apply(this, arguments);\n a.ui.pos.fit.top.apply(this, arguments);\n }\n }\n };\n (function() {\n var b, c, d, e, f, g = document.getElementsByTagName(\"body\")[0], h = document.createElement(\"div\");\n b = document.createElement(g ? \"div\" : \"body\");\n d = {\n visibility: \"hidden\",\n width: 0,\n height: 0,\n border: 0,\n margin: 0,\n background: \"none\"\n };\n if (g) {\n a.extend(d, {\n position: \"absolute\",\n left: \"-1000px\",\n top: \"-1000px\"\n });\n }\n for (f in d) {\n b.style[f] = d[f];\n }\n b.appendChild(h);\n c = g || document.documentElement;\n c.insertBefore(b, c.firstChild);\n h.style.cssText = \"position: absolute; left: 10.7432222px;\";\n e = a(h).offset().left;\n a.support.offsetFractions = e > 10 && e < 11;\n b.innerHTML = \"\";\n c.removeChild(b);\n })();\n })();\n var c = a.ui.position;\n});\n\n(function(a) {\n \"use strict\";\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], a);\n } else if (window.jQuery && !window.jQuery.fn.iconpicker) {\n a(window.jQuery);\n }\n})(function(a) {\n \"use strict\";\n var b = {\n isEmpty: function(a) {\n return a === false || a === \"\" || a === null || a === undefined;\n },\n isEmptyObject: function(a) {\n return this.isEmpty(a) === true || a.length === 0;\n },\n isElement: function(b) {\n return a(b).length > 0;\n },\n isString: function(a) {\n return typeof a === \"string\" || a instanceof String;\n },\n isArray: function(b) {\n return a.isArray(b);\n },\n inArray: function(b, c) {\n return a.inArray(b, c) !== -1;\n },\n throwError: function(a) {\n throw \"Font Awesome Icon Picker Exception: \" + a;\n }\n };\n var c = function(d, e) {\n this._id = c._idCounter++;\n this.element = a(d).addClass(\"iconpicker-element\");\n this._trigger(\"iconpickerCreate\", {\n iconpickerValue: this.iconpickerValue\n });\n this.options = a.extend({}, c.defaultOptions, this.element.data(), e);\n this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);\n this.options.originalPlacement = this.options.placement;\n this.container = b.isElement(this.options.container) ? a(this.options.container) : false;\n if (this.container === false) {\n if (this.element.is(\".dropdown-toggle\")) {\n this.container = a(\"~ .dropdown-menu:first\", this.element);\n } else {\n this.container = this.element.is(\"input,textarea,button,.btn\") ? this.element.parent() : this.element;\n }\n }\n this.container.addClass(\"iconpicker-container\");\n if (this.isDropdownMenu()) {\n this.options.placement = \"inline\";\n }\n this.input = this.element.is(\"input,textarea\") ? this.element.addClass(\"iconpicker-input\") : false;\n if (this.input === false) {\n this.input = this.container.find(this.options.input);\n if (!this.input.is(\"input,textarea\")) {\n this.input = false;\n }\n }\n this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);\n if (this.component.length === 0) {\n this.component = false;\n } else {\n this.component.find(\"i\").addClass(\"iconpicker-component\");\n }\n this._createPopover();\n this._createIconpicker();\n if (this.getAcceptButton().length === 0) {\n this.options.mustAccept = false;\n }\n if (this.isInputGroup()) {\n this.container.parent().append(this.popover);\n } else {\n this.container.append(this.popover);\n }\n this._bindElementEvents();\n this._bindWindowEvents();\n this.update(this.options.selected);\n if (this.isInline()) {\n this.show();\n }\n this._trigger(\"iconpickerCreated\", {\n iconpickerValue: this.iconpickerValue\n });\n };\n c._idCounter = 0;\n c.defaultOptions = {\n title: false,\n selected: false,\n defaultValue: false,\n placement: \"bottom\",\n collision: \"none\",\n animation: true,\n hideOnSelect: false,\n showFooter: false,\n searchInFooter: false,\n mustAccept: false,\n selectedCustomClass: \"bg-primary\",\n icons: [],\n fullClassFormatter: function(a) {\n return a;\n },\n input: \"input,.iconpicker-input\",\n inputSearch: false,\n container: false,\n component: \".input-group-addon,.iconpicker-component\",\n templates: {\n popover: '
    ' + '
    ',\n footer: '
    ',\n buttons: '' + ' ',\n search: '',\n iconpicker: '
    ',\n iconpickerItem: ''\n }\n };\n c.batch = function(b, c) {\n var d = Array.prototype.slice.call(arguments, 2);\n return a(b).each(function() {\n var b = a(this).data(\"iconpicker\");\n if (!!b) {\n b[c].apply(b, d);\n }\n });\n };\n c.prototype = {\n constructor: c,\n options: {},\n _id: 0,\n _trigger: function(b, c) {\n c = c || {};\n this.element.trigger(a.extend({\n type: b,\n iconpickerInstance: this\n }, c));\n },\n _createPopover: function() {\n this.popover = a(this.options.templates.popover);\n var c = this.popover.find(\".popover-title\");\n if (!!this.options.title) {\n c.append(a('
    ' + this.options.title + \"
    \"));\n }\n if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {\n c.append(this.options.templates.search);\n } else if (!this.options.title) {\n c.remove();\n }\n if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {\n var d = a(this.options.templates.footer);\n if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {\n d.append(a(this.options.templates.search));\n }\n if (!b.isEmpty(this.options.templates.buttons)) {\n d.append(a(this.options.templates.buttons));\n }\n this.popover.append(d);\n }\n if (this.options.animation === true) {\n this.popover.addClass(\"fade\");\n }\n return this.popover;\n },\n _createIconpicker: function() {\n var b = this;\n this.iconpicker = a(this.options.templates.iconpicker);\n var c = function(c) {\n var d = a(this);\n if (d.is(\"i\")) {\n d = d.parent();\n }\n b._trigger(\"iconpickerSelect\", {\n iconpickerItem: d,\n iconpickerValue: b.iconpickerValue\n });\n if (b.options.mustAccept === false) {\n b.update(d.data(\"iconpickerValue\"));\n b._trigger(\"iconpickerSelected\", {\n iconpickerItem: this,\n iconpickerValue: b.iconpickerValue\n });\n } else {\n b.update(d.data(\"iconpickerValue\"), true);\n }\n if (b.options.hideOnSelect && b.options.mustAccept === false) {\n b.hide();\n }\n };\n for (var d in this.options.icons) {\n if (typeof this.options.icons[d].title === \"string\") {\n var e = a(this.options.templates.iconpickerItem);\n e.find(\"i\").addClass(this.options.fullClassFormatter(this.options.icons[d].title));\n e.data(\"iconpickerValue\", this.options.icons[d].title).on(\"click.iconpicker\", c);\n this.iconpicker.find(\".iconpicker-items\").append(e.attr(\"title\", \".\" + this.options.icons[d].title));\n if (this.options.icons[d].searchTerms.length > 0) {\n var f = \"\";\n for (var g = 0; g < this.options.icons[d].searchTerms.length; g++) {\n f = f + this.options.icons[d].searchTerms[g] + \" \";\n }\n this.iconpicker.find(\".iconpicker-items\").append(e.attr(\"data-search-terms\", f));\n }\n }\n }\n this.popover.find(\".popover-content\").append(this.iconpicker);\n return this.iconpicker;\n },\n _isEventInsideIconpicker: function(b) {\n var c = a(b.target);\n if ((!c.hasClass(\"iconpicker-element\") || c.hasClass(\"iconpicker-element\") && !c.is(this.element)) && c.parents(\".iconpicker-popover\").length === 0) {\n return false;\n }\n return true;\n },\n _bindElementEvents: function() {\n var c = this;\n this.getSearchInput().on(\"keyup.iconpicker\", function() {\n c.filter(a(this).val().toLowerCase());\n });\n this.getAcceptButton().on(\"click.iconpicker\", function() {\n var a = c.iconpicker.find(\".iconpicker-selected\").get(0);\n c.update(c.iconpickerValue);\n c._trigger(\"iconpickerSelected\", {\n iconpickerItem: a,\n iconpickerValue: c.iconpickerValue\n });\n if (!c.isInline()) {\n c.hide();\n }\n });\n this.getCancelButton().on(\"click.iconpicker\", function() {\n if (!c.isInline()) {\n c.hide();\n }\n });\n this.element.on(\"focus.iconpicker\", function(a) {\n c.show();\n a.stopPropagation();\n });\n if (this.hasComponent()) {\n this.component.on(\"click.iconpicker\", function() {\n c.toggle();\n });\n }\n if (this.hasInput()) {\n this.input.on(\"keyup.iconpicker\", function(d) {\n if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {\n c.update();\n } else {\n c._updateFormGroupStatus(c.getValid(this.value) !== false);\n }\n if (c.options.inputSearch === true) {\n c.filter(a(this).val().toLowerCase());\n }\n });\n }\n },\n _bindWindowEvents: function() {\n var b = a(window.document);\n var c = this;\n var d = \".iconpicker.inst\" + this._id;\n a(window).on(\"resize.iconpicker\" + d + \" orientationchange.iconpicker\" + d, function(a) {\n if (c.popover.hasClass(\"in\")) {\n c.updatePlacement();\n }\n });\n if (!c.isInline()) {\n b.on(\"mouseup\" + d, function(a) {\n if (!c._isEventInsideIconpicker(a) && !c.isInline()) {\n c.hide();\n }\n });\n }\n },\n _unbindElementEvents: function() {\n this.popover.off(\".iconpicker\");\n this.element.off(\".iconpicker\");\n if (this.hasInput()) {\n this.input.off(\".iconpicker\");\n }\n if (this.hasComponent()) {\n this.component.off(\".iconpicker\");\n }\n if (this.hasContainer()) {\n this.container.off(\".iconpicker\");\n }\n },\n _unbindWindowEvents: function() {\n a(window).off(\".iconpicker.inst\" + this._id);\n a(window.document).off(\".iconpicker.inst\" + this._id);\n },\n updatePlacement: function(b, c) {\n b = b || this.options.placement;\n this.options.placement = b;\n c = c || this.options.collision;\n c = c === true ? \"flip\" : c;\n var d = {\n at: \"right bottom\",\n my: \"right top\",\n of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,\n collision: c === true ? \"flip\" : c,\n within: window\n };\n this.popover.removeClass(\"inline topLeftCorner topLeft top topRight topRightCorner \" + \"rightTop right rightBottom bottomRight bottomRightCorner \" + \"bottom bottomLeft bottomLeftCorner leftBottom left leftTop\");\n if (typeof b === \"object\") {\n return this.popover.pos(a.extend({}, d, b));\n }\n switch (b) {\n case \"inline\":\n {\n d = false;\n }\n break;\n\n case \"topLeftCorner\":\n {\n d.my = \"right bottom\";\n d.at = \"left top\";\n }\n break;\n\n case \"topLeft\":\n {\n d.my = \"left bottom\";\n d.at = \"left top\";\n }\n break;\n\n case \"top\":\n {\n d.my = \"center bottom\";\n d.at = \"center top\";\n }\n break;\n\n case \"topRight\":\n {\n d.my = \"right bottom\";\n d.at = \"right top\";\n }\n break;\n\n case \"topRightCorner\":\n {\n d.my = \"left bottom\";\n d.at = \"right top\";\n }\n break;\n\n case \"rightTop\":\n {\n d.my = \"left bottom\";\n d.at = \"right center\";\n }\n break;\n\n case \"right\":\n {\n d.my = \"left center\";\n d.at = \"right center\";\n }\n break;\n\n case \"rightBottom\":\n {\n d.my = \"left top\";\n d.at = \"right center\";\n }\n break;\n\n case \"bottomRightCorner\":\n {\n d.my = \"left top\";\n d.at = \"right bottom\";\n }\n break;\n\n case \"bottomRight\":\n {\n d.my = \"right top\";\n d.at = \"right bottom\";\n }\n break;\n\n case \"bottom\":\n {\n d.my = \"center top\";\n d.at = \"center bottom\";\n }\n break;\n\n case \"bottomLeft\":\n {\n d.my = \"left top\";\n d.at = \"left bottom\";\n }\n break;\n\n case \"bottomLeftCorner\":\n {\n d.my = \"right top\";\n d.at = \"left bottom\";\n }\n break;\n\n case \"leftBottom\":\n {\n d.my = \"right top\";\n d.at = \"left center\";\n }\n break;\n\n case \"left\":\n {\n d.my = \"right center\";\n d.at = \"left center\";\n }\n break;\n\n case \"leftTop\":\n {\n d.my = \"right bottom\";\n d.at = \"left center\";\n }\n break;\n\n default:\n {\n return false;\n }\n break;\n }\n this.popover.css({\n display: this.options.placement === \"inline\" ? \"\" : \"block\"\n });\n if (d !== false) {\n this.popover.pos(d).css(\"maxWidth\", a(window).width() - this.container.offset().left - 5);\n } else {\n this.popover.css({\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"none\"\n });\n }\n this.popover.addClass(this.options.placement);\n return true;\n },\n _updateComponents: function () {\n this.iconpicker.find(\".iconpicker-item.iconpicker-selected\").removeClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n if (this.iconpickerValue) {\n this.iconpicker.find(\".\" + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, \".\")).parent().addClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n }\n if (this.hasComponent()) {\n var a = this.component.find(\"i\");\n if (a.length > 0) {\n a.attr(\"class\", this.options.fullClassFormatter(this.iconpickerValue));\n } else {\n this.component.html(this.getHtml());\n }\n }\n },\n _updateFormGroupStatus: function(a) {\n if (this.hasInput()) {\n if (a !== false) {\n this.input.parents(\".form-group:first\").removeClass(\"has-error\");\n } else {\n this.input.parents(\".form-group:first\").addClass(\"has-error\");\n }\n return true;\n }\n return false;\n },\n getValid: function(c) {\n if (!b.isString(c)) {\n c = \"\";\n }\n var d = c === \"\";\n c = a.trim(c);\n var e = false;\n for (var f = 0; f < this.options.icons.length; f++) {\n if (this.options.icons[f].title === c) {\n e = true;\n break;\n }\n }\n if (e || d) {\n return c;\n }\n return false;\n },\n setValue: function(a) {\n var b = this.getValid(a);\n if (b !== false) {\n this.iconpickerValue = b;\n this._trigger(\"iconpickerSetValue\", {\n iconpickerValue: b\n });\n return this.iconpickerValue;\n } else {\n this._trigger(\"iconpickerInvalid\", {\n iconpickerValue: a\n });\n return false;\n }\n },\n getHtml: function () {\n debugger;\n return '';\n },\n setSourceValue: function(a) {\n a = this.setValue(a);\n if (a !== false && a !== \"\") {\n if (this.hasInput()) {\n this.input.val(this.iconpickerValue);\n } else {\n this.element.data(\"iconpickerValue\", this.iconpickerValue);\n }\n this._trigger(\"iconpickerSetSourceValue\", {\n iconpickerValue: a\n });\n }\n return a;\n },\n getSourceValue: function(a) {\n a = a || this.options.defaultValue;\n var b = a;\n if (this.hasInput()) {\n b = this.input.val();\n } else {\n b = this.element.data(\"iconpickerValue\");\n }\n if (b === undefined || b === \"\" || b === null || b === false) {\n b = a;\n }\n return b;\n },\n hasInput: function() {\n return this.input !== false;\n },\n isInputSearch: function() {\n return this.hasInput() && this.options.inputSearch === true;\n },\n isInputGroup: function() {\n return this.container.is(\".input-group\");\n },\n isDropdownMenu: function() {\n return this.container.is(\".dropdown-menu\");\n },\n hasSeparatedSearchInput: function() {\n return this.options.templates.search !== false && !this.isInputSearch();\n },\n hasComponent: function() {\n return this.component !== false;\n },\n hasContainer: function() {\n return this.container !== false;\n },\n getAcceptButton: function() {\n return this.popover.find(\".iconpicker-btn-accept\");\n },\n getCancelButton: function() {\n return this.popover.find(\".iconpicker-btn-cancel\");\n },\n getSearchInput: function() {\n return this.popover.find(\".iconpicker-search\");\n },\n filter: function(c) {\n if (b.isEmpty(c)) {\n this.iconpicker.find(\".iconpicker-item\").show();\n return a(false);\n } else {\n var d = [];\n this.iconpicker.find(\".iconpicker-item\").each(function() {\n var b = a(this);\n var e = b.attr(\"title\").toLowerCase();\n var f = b.attr(\"data-search-terms\") ? b.attr(\"data-search-terms\").toLowerCase() : \"\";\n e = e + \" \" + f;\n var g = false;\n try {\n g = new RegExp(\"(^|\\\\W)\" + c, \"g\");\n } catch (a) {\n g = false;\n }\n if (g !== false && e.match(g)) {\n d.push(b);\n b.show();\n } else {\n b.hide();\n }\n });\n return d;\n }\n },\n show: function() {\n if (this.popover.hasClass(\"in\")) {\n return false;\n }\n a.iconpicker.batch(a(\".iconpicker-popover.in:not(.inline)\").not(this.popover), \"hide\");\n this._trigger(\"iconpickerShow\", {\n iconpickerValue: this.iconpickerValue\n });\n this.updatePlacement();\n this.popover.addClass(\"in\");\n setTimeout(a.proxy(function() {\n this.popover.css(\"display\", this.isInline() ? \"\" : \"block\");\n this._trigger(\"iconpickerShown\", {\n iconpickerValue: this.iconpickerValue\n });\n }, this), this.options.animation ? 300 : 1);\n },\n hide: function() {\n if (!this.popover.hasClass(\"in\")) {\n return false;\n }\n this._trigger(\"iconpickerHide\", {\n iconpickerValue: this.iconpickerValue\n });\n this.popover.removeClass(\"in\");\n setTimeout(a.proxy(function() {\n this.popover.css(\"display\", \"none\");\n this.getSearchInput().val(\"\");\n this.filter(\"\");\n this._trigger(\"iconpickerHidden\", {\n iconpickerValue: this.iconpickerValue\n });\n }, this), this.options.animation ? 300 : 1);\n },\n toggle: function() {\n if (this.popover.is(\":visible\")) {\n this.hide();\n } else {\n this.show(true);\n }\n },\n update: function(a, b) {\n a = a ? a : this.getSourceValue(this.iconpickerValue);\n this._trigger(\"iconpickerUpdate\", {\n iconpickerValue: this.iconpickerValue\n });\n if (b === true) {\n a = this.setValue(a);\n } else {\n a = this.setSourceValue(a);\n this._updateFormGroupStatus(a !== false);\n }\n if (a !== false) {\n this._updateComponents();\n }\n this._trigger(\"iconpickerUpdated\", {\n iconpickerValue: this.iconpickerValue\n });\n return a;\n },\n destroy: function() {\n this._trigger(\"iconpickerDestroy\", {\n iconpickerValue: this.iconpickerValue\n });\n this.element.removeData(\"iconpicker\").removeData(\"iconpickerValue\").removeClass(\"iconpicker-element\");\n this._unbindElementEvents();\n this._unbindWindowEvents();\n a(this.popover).remove();\n this._trigger(\"iconpickerDestroyed\", {\n iconpickerValue: this.iconpickerValue\n });\n },\n disable: function() {\n if (this.hasInput()) {\n this.input.prop(\"disabled\", true);\n return true;\n }\n return false;\n },\n enable: function() {\n if (this.hasInput()) {\n this.input.prop(\"disabled\", false);\n return true;\n }\n return false;\n },\n isDisabled: function() {\n if (this.hasInput()) {\n return this.input.prop(\"disabled\") === true;\n }\n return false;\n },\n isInline: function() {\n return this.options.placement === \"inline\" || this.popover.hasClass(\"inline\");\n }\n };\n a.iconpicker = c;\n a.fn.iconpicker = function(b) {\n return this.each(function() {\n var d = a(this);\n if (!d.data(\"iconpicker\")) {\n d.data(\"iconpicker\", new c(this, typeof b === \"object\" ? b : {}));\n }\n });\n };\n c.defaultOptions = a.extend(c.defaultOptions, {\n icons: [ {\n title: \"fab fa-500px\",\n searchTerms: []\n }, {\n title: \"fab fa-accessible-icon\",\n searchTerms: [ \"accessibility\", \"wheelchair\", \"handicap\", \"person\", \"wheelchair-alt\" ]\n }, {\n title: \"fab fa-accusoft\",\n searchTerms: []\n }, {\n title: \"fas fa-address-book\",\n searchTerms: []\n }, {\n title: \"far fa-address-book\",\n searchTerms: []\n }, {\n title: \"fas fa-address-card\",\n searchTerms: []\n }, {\n title: \"far fa-address-card\",\n searchTerms: []\n }, {\n title: \"fas fa-adjust\",\n searchTerms: [ \"contrast\" ]\n }, {\n title: \"fab fa-adn\",\n searchTerms: []\n }, {\n title: \"fab fa-adversal\",\n searchTerms: []\n }, {\n title: \"fab fa-affiliatetheme\",\n searchTerms: []\n }, {\n title: \"fab fa-algolia\",\n searchTerms: []\n }, {\n title: \"fas fa-align-center\",\n searchTerms: [ \"middle\", \"text\" ]\n }, {\n title: \"fas fa-align-justify\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fas fa-align-left\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fas fa-align-right\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fab fa-amazon\",\n searchTerms: []\n }, {\n title: \"fab fa-amazon-pay\",\n searchTerms: []\n }, {\n title: \"fas fa-ambulance\",\n searchTerms: [ \"vehicle\", \"support\", \"help\" ]\n }, {\n title: \"fas fa-american-sign-language-interpreting\",\n searchTerms: []\n }, {\n title: \"fab fa-amilia\",\n searchTerms: []\n }, {\n title: \"fas fa-anchor\",\n searchTerms: [ \"link\" ]\n }, {\n title: \"fab fa-android\",\n searchTerms: [ \"robot\" ]\n }, {\n title: \"fab fa-angellist\",\n searchTerms: []\n }, {\n title: \"fas fa-angle-double-down\",\n searchTerms: [ \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-left\",\n searchTerms: [ \"laquo\", \"quote\", \"previous\", \"back\", \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-right\",\n searchTerms: [ \"raquo\", \"quote\", \"next\", \"forward\", \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-up\",\n searchTerms: [ \"arrows\" ]\n }, {\n title: \"fas fa-angle-down\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fas fa-angle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow\" ]\n }, {\n title: \"fas fa-angle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow\" ]\n }, {\n title: \"fas fa-angle-up\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fab fa-angrycreative\",\n searchTerms: []\n }, {\n title: \"fab fa-angular\",\n searchTerms: []\n }, {\n title: \"fab fa-app-store\",\n searchTerms: []\n }, {\n title: \"fab fa-app-store-ios\",\n searchTerms: []\n }, {\n title: \"fab fa-apper\",\n searchTerms: []\n }, {\n title: \"fab fa-apple\",\n searchTerms: [ \"osx\", \"food\" ]\n }, {\n title: \"fab fa-apple-pay\",\n searchTerms: []\n }, {\n title: \"fas fa-archive\",\n searchTerms: [ \"box\", \"storage\", \"package\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-down\",\n searchTerms: [ \"download\", \"arrow-circle-o-down\" ]\n }, {\n title: \"far fa-arrow-alt-circle-down\",\n searchTerms: [ \"download\", \"arrow-circle-o-down\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow-circle-o-left\" ]\n }, {\n title: \"far fa-arrow-alt-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow-circle-o-left\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow-circle-o-right\" ]\n }, {\n title: \"far fa-arrow-alt-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow-circle-o-right\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-up\",\n searchTerms: [ \"arrow-circle-o-up\" ]\n }, {\n title: \"far fa-arrow-alt-circle-up\",\n searchTerms: [ \"arrow-circle-o-up\" ]\n }, {\n title: \"fas fa-arrow-circle-down\",\n searchTerms: [ \"download\" ]\n }, {\n title: \"fas fa-arrow-circle-left\",\n searchTerms: [ \"previous\", \"back\" ]\n }, {\n title: \"fas fa-arrow-circle-right\",\n searchTerms: [ \"next\", \"forward\" ]\n }, {\n title: \"fas fa-arrow-circle-up\",\n searchTerms: []\n }, {\n title: \"fas fa-arrow-down\",\n searchTerms: [ \"download\" ]\n }, {\n title: \"fas fa-arrow-left\",\n searchTerms: [ \"previous\", \"back\" ]\n }, {\n title: \"fas fa-arrow-right\",\n searchTerms: [ \"next\", \"forward\" ]\n }, {\n title: \"fas fa-arrow-up\",\n searchTerms: []\n }, {\n title: \"fas fa-arrows-alt\",\n searchTerms: [ \"expand\", \"enlarge\", \"fullscreen\", \"bigger\", \"move\", \"reorder\", \"resize\", \"arrow\", \"arrows\" ]\n }, {\n title: \"fas fa-arrows-alt-h\",\n searchTerms: [ \"resize\", \"arrows-h\" ]\n }, {\n title: \"fas fa-arrows-alt-v\",\n searchTerms: [ \"resize\", \"arrows-v\" ]\n }, {\n title: \"fas fa-assistive-listening-systems\",\n searchTerms: []\n }, {\n title: \"fas fa-asterisk\",\n searchTerms: [ \"details\" ]\n }, {\n title: \"fab fa-asymmetrik\",\n searchTerms: []\n }, {\n title: \"fas fa-at\",\n searchTerms: [ \"email\", \"e-mail\" ]\n }, {\n title: \"fab fa-audible\",\n searchTerms: []\n }, {\n title: \"fas fa-audio-description\",\n searchTerms: []\n }, {\n title: \"fab fa-autoprefixer\",\n searchTerms: []\n }, {\n title: \"fab fa-avianex\",\n searchTerms: []\n }, {\n title: \"fab fa-aviato\",\n searchTerms: []\n }, {\n title: \"fab fa-aws\",\n searchTerms: []\n }, {\n title: \"fas fa-backward\",\n searchTerms: [ \"rewind\", \"previous\" ]\n }, {\n title: \"fas fa-balance-scale\",\n searchTerms: []\n }, {\n title: \"fas fa-ban\",\n searchTerms: [ \"delete\", \"remove\", \"trash\", \"hide\", \"block\", \"stop\", \"abort\", \"cancel\", \"ban\", \"prohibit\" ]\n }, {\n title: \"fas fa-band-aid\",\n searchTerms: [ \"bandage\", \"ouch\", \"boo boo\" ]\n }, {\n title: \"fab fa-bandcamp\",\n searchTerms: []\n }, {\n title: \"fas fa-barcode\",\n searchTerms: [ \"scan\" ]\n }, {\n title: \"fas fa-bars\",\n searchTerms: [ \"menu\", \"drag\", \"reorder\", \"settings\", \"list\", \"ul\", \"ol\", \"checklist\", \"todo\", \"list\", \"hamburger\" ]\n }, {\n title: \"fas fa-baseball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-basketball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-bath\",\n searchTerms: []\n }, {\n title: \"fas fa-battery-empty\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-full\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-half\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-quarter\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-three-quarters\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-bed\",\n searchTerms: [ \"travel\" ]\n }, {\n title: \"fas fa-beer\",\n searchTerms: [ \"alcohol\", \"stein\", \"drink\", \"mug\", \"bar\", \"liquor\" ]\n }, {\n title: \"fab fa-behance\",\n searchTerms: []\n }, {\n title: \"fab fa-behance-square\",\n searchTerms: []\n }, {\n title: \"fas fa-bell\",\n searchTerms: [ \"alert\", \"reminder\", \"notification\" ]\n }, {\n title: \"far fa-bell\",\n searchTerms: [ \"alert\", \"reminder\", \"notification\" ]\n }, {\n title: \"fas fa-bell-slash\",\n searchTerms: []\n }, {\n title: \"far fa-bell-slash\",\n searchTerms: []\n }, {\n title: \"fas fa-bicycle\",\n searchTerms: [ \"vehicle\", \"bike\", \"gears\" ]\n }, {\n title: \"fab fa-bimobject\",\n searchTerms: []\n }, {\n title: \"fas fa-binoculars\",\n searchTerms: []\n }, {\n title: \"fas fa-birthday-cake\",\n searchTerms: []\n }, {\n title: \"fab fa-bitbucket\",\n searchTerms: [ \"git\", \"bitbucket-square\" ]\n }, {\n title: \"fab fa-bitcoin\",\n searchTerms: []\n }, {\n title: \"fab fa-bity\",\n searchTerms: []\n }, {\n title: \"fab fa-black-tie\",\n searchTerms: []\n }, {\n title: \"fab fa-blackberry\",\n searchTerms: []\n }, {\n title: \"fas fa-blind\",\n searchTerms: []\n }, {\n title: \"fab fa-blogger\",\n searchTerms: []\n }, {\n title: \"fab fa-blogger-b\",\n searchTerms: []\n }, {\n title: \"fab fa-bluetooth\",\n searchTerms: []\n }, {\n title: \"fab fa-bluetooth-b\",\n searchTerms: []\n }, {\n title: \"fas fa-bold\",\n searchTerms: []\n }, {\n title: \"fas fa-bolt\",\n searchTerms: [ \"lightning\", \"weather\" ]\n }, {\n title: \"fas fa-bomb\",\n searchTerms: []\n }, {\n title: \"fas fa-book\",\n searchTerms: [ \"read\", \"documentation\" ]\n }, {\n title: \"fas fa-bookmark\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"far fa-bookmark\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"fas fa-bowling-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-box\",\n searchTerms: []\n }, {\n title: \"fas fa-boxes\",\n searchTerms: []\n }, {\n title: \"fas fa-braille\",\n searchTerms: []\n }, {\n title: \"fas fa-briefcase\",\n searchTerms: [ \"work\", \"business\", \"office\", \"luggage\", \"bag\" ]\n }, {\n title: \"fab fa-btc\",\n searchTerms: []\n }, {\n title: \"fas fa-bug\",\n searchTerms: [ \"report\", \"insect\" ]\n }, {\n title: \"fas fa-building\",\n searchTerms: [ \"work\", \"business\", \"apartment\", \"office\", \"company\" ]\n }, {\n title: \"far fa-building\",\n searchTerms: [ \"work\", \"business\", \"apartment\", \"office\", \"company\" ]\n }, {\n title: \"fas fa-bullhorn\",\n searchTerms: [ \"announcement\", \"share\", \"broadcast\", \"louder\", \"megaphone\" ]\n }, {\n title: \"fas fa-bullseye\",\n searchTerms: [ \"target\" ]\n }, {\n title: \"fab fa-buromobelexperte\",\n searchTerms: []\n }, {\n title: \"fas fa-bus\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fab fa-buysellads\",\n searchTerms: []\n }, {\n title: \"fas fa-calculator\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar-o\" ]\n }, {\n title: \"far fa-calendar\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar-o\" ]\n }, {\n title: \"fas fa-calendar-alt\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar\" ]\n }, {\n title: \"far fa-calendar-alt\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar\" ]\n }, {\n title: \"fas fa-calendar-check\",\n searchTerms: [ \"ok\" ]\n }, {\n title: \"far fa-calendar-check\",\n searchTerms: [ \"ok\" ]\n }, {\n title: \"fas fa-calendar-minus\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-minus\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar-plus\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-plus\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar-times\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-times\",\n searchTerms: []\n }, {\n title: \"fas fa-camera\",\n searchTerms: [ \"photo\", \"picture\", \"record\" ]\n }, {\n title: \"fas fa-camera-retro\",\n searchTerms: [ \"photo\", \"picture\", \"record\" ]\n }, {\n title: \"fas fa-car\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fas fa-caret-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"triangle down\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-left\",\n searchTerms: [ \"previous\", \"back\", \"triangle left\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-right\",\n searchTerms: [ \"next\", \"forward\", \"triangle right\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-square-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"caret-square-o-down\" ]\n }, {\n title: \"far fa-caret-square-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"caret-square-o-down\" ]\n }, {\n title: \"fas fa-caret-square-left\",\n searchTerms: [ \"previous\", \"back\", \"caret-square-o-left\" ]\n }, {\n title: \"far fa-caret-square-left\",\n searchTerms: [ \"previous\", \"back\", \"caret-square-o-left\" ]\n }, {\n title: \"fas fa-caret-square-right\",\n searchTerms: [ \"next\", \"forward\", \"caret-square-o-right\" ]\n }, {\n title: \"far fa-caret-square-right\",\n searchTerms: [ \"next\", \"forward\", \"caret-square-o-right\" ]\n }, {\n title: \"fas fa-caret-square-up\",\n searchTerms: [ \"caret-square-o-up\" ]\n }, {\n title: \"far fa-caret-square-up\",\n searchTerms: [ \"caret-square-o-up\" ]\n }, {\n title: \"fas fa-caret-up\",\n searchTerms: [ \"triangle up\", \"arrow\" ]\n }, {\n title: \"fas fa-cart-arrow-down\",\n searchTerms: [ \"shopping\" ]\n }, {\n title: \"fas fa-cart-plus\",\n searchTerms: [ \"add\", \"shopping\" ]\n }, {\n title: \"fab fa-cc-amazon-pay\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-amex\",\n searchTerms: [ \"amex\" ]\n }, {\n title: \"fab fa-cc-apple-pay\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-diners-club\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-discover\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-jcb\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-mastercard\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-paypal\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-stripe\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-visa\",\n searchTerms: []\n }, {\n title: \"fab fa-centercode\",\n searchTerms: []\n }, {\n title: \"fas fa-certificate\",\n searchTerms: [ \"badge\", \"star\" ]\n }, {\n title: \"fas fa-chart-area\",\n searchTerms: [ \"graph\", \"analytics\", \"area-chart\" ]\n }, {\n title: \"fas fa-chart-bar\",\n searchTerms: [ \"graph\", \"analytics\", \"bar-chart\" ]\n }, {\n title: \"far fa-chart-bar\",\n searchTerms: [ \"graph\", \"analytics\", \"bar-chart\" ]\n }, {\n title: \"fas fa-chart-line\",\n searchTerms: [ \"graph\", \"analytics\", \"line-chart\", \"dashboard\" ]\n }, {\n title: \"fas fa-chart-pie\",\n searchTerms: [ \"graph\", \"analytics\", \"pie-chart\" ]\n }, {\n title: \"fas fa-check\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"tick\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-check-circle\",\n searchTerms: [ \"todo\", \"done\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"far fa-check-circle\",\n searchTerms: [ \"todo\", \"done\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-check-square\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"far fa-check-square\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-chess\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-bishop\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-board\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-king\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-knight\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-pawn\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-queen\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-rook\",\n searchTerms: []\n }, {\n title: \"fas fa-chevron-circle-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-up\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fas fa-chevron-down\",\n searchTerms: []\n }, {\n title: \"fas fa-chevron-left\",\n searchTerms: [ \"bracket\", \"previous\", \"back\" ]\n }, {\n title: \"fas fa-chevron-right\",\n searchTerms: [ \"bracket\", \"next\", \"forward\" ]\n }, {\n title: \"fas fa-chevron-up\",\n searchTerms: []\n }, {\n title: \"fas fa-child\",\n searchTerms: []\n }, {\n title: \"fab fa-chrome\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fas fa-circle\",\n searchTerms: [ \"dot\", \"notification\", \"circle-thin\" ]\n }, {\n title: \"far fa-circle\",\n searchTerms: [ \"dot\", \"notification\", \"circle-thin\" ]\n }, {\n title: \"fas fa-circle-notch\",\n searchTerms: [ \"circle-o-notch\" ]\n }, {\n title: \"fas fa-clipboard\",\n searchTerms: [ \"paste\" ]\n }, {\n title: \"far fa-clipboard\",\n searchTerms: [ \"paste\" ]\n }, {\n title: \"fas fa-clipboard-check\",\n searchTerms: []\n }, {\n title: \"fas fa-clipboard-list\",\n searchTerms: []\n }, {\n title: \"fas fa-clock\",\n searchTerms: [ \"watch\", \"timer\", \"late\", \"timestamp\", \"date\" ]\n }, {\n title: \"far fa-clock\",\n searchTerms: [ \"watch\", \"timer\", \"late\", \"timestamp\", \"date\" ]\n }, {\n title: \"fas fa-clone\",\n searchTerms: [ \"copy\" ]\n }, {\n title: \"far fa-clone\",\n searchTerms: [ \"copy\" ]\n }, {\n title: \"fas fa-closed-captioning\",\n searchTerms: [ \"cc\" ]\n }, {\n title: \"far fa-closed-captioning\",\n searchTerms: [ \"cc\" ]\n }, {\n title: \"fas fa-cloud\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"fas fa-cloud-download-alt\",\n searchTerms: [ \"cloud-download\" ]\n }, {\n title: \"fas fa-cloud-upload-alt\",\n searchTerms: [ \"cloud-upload\" ]\n }, {\n title: \"fab fa-cloudscale\",\n searchTerms: []\n }, {\n title: \"fab fa-cloudsmith\",\n searchTerms: []\n }, {\n title: \"fab fa-cloudversify\",\n searchTerms: []\n }, {\n title: \"fas fa-code\",\n searchTerms: [ \"html\", \"brackets\" ]\n }, {\n title: \"fas fa-code-branch\",\n searchTerms: [ \"git\", \"fork\", \"vcs\", \"svn\", \"github\", \"rebase\", \"version\", \"branch\", \"code-fork\" ]\n }, {\n title: \"fab fa-codepen\",\n searchTerms: []\n }, {\n title: \"fab fa-codiepie\",\n searchTerms: []\n }, {\n title: \"fas fa-coffee\",\n searchTerms: [ \"morning\", \"mug\", \"breakfast\", \"tea\", \"drink\", \"cafe\" ]\n }, {\n title: \"fas fa-cog\",\n searchTerms: [ \"settings\" ]\n }, {\n title: \"fas fa-cogs\",\n searchTerms: [ \"settings\", \"gears\" ]\n }, {\n title: \"fas fa-columns\",\n searchTerms: [ \"split\", \"panes\", \"dashboard\" ]\n }, {\n title: \"fas fa-comment\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"far fa-comment\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"fas fa-comment-alt\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\", \"commenting\", \"commenting\" ]\n }, {\n title: \"far fa-comment-alt\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\", \"commenting\", \"commenting\" ]\n }, {\n title: \"fas fa-comments\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"far fa-comments\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"fas fa-compass\",\n searchTerms: [ \"safari\", \"directory\", \"menu\", \"location\" ]\n }, {\n title: \"far fa-compass\",\n searchTerms: [ \"safari\", \"directory\", \"menu\", \"location\" ]\n }, {\n title: \"fas fa-compress\",\n searchTerms: [ \"collapse\", \"combine\", \"contract\", \"merge\", \"smaller\" ]\n }, {\n title: \"fab fa-connectdevelop\",\n searchTerms: []\n }, {\n title: \"fab fa-contao\",\n searchTerms: []\n }, {\n title: \"fas fa-copy\",\n searchTerms: [ \"duplicate\", \"clone\", \"file\", \"files-o\" ]\n }, {\n title: \"far fa-copy\",\n searchTerms: [ \"duplicate\", \"clone\", \"file\", \"files-o\" ]\n }, {\n title: \"fas fa-copyright\",\n searchTerms: []\n }, {\n title: \"far fa-copyright\",\n searchTerms: []\n }, {\n title: \"fab fa-cpanel\",\n searchTerms: []\n }, {\n title: \"fab fa-creative-commons\",\n searchTerms: []\n }, {\n title: \"fas fa-credit-card\",\n searchTerms: [ \"money\", \"buy\", \"debit\", \"checkout\", \"purchase\", \"payment\", \"credit-card-alt\" ]\n }, {\n title: \"far fa-credit-card\",\n searchTerms: [ \"money\", \"buy\", \"debit\", \"checkout\", \"purchase\", \"payment\", \"credit-card-alt\" ]\n }, {\n title: \"fas fa-crop\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fas fa-crosshairs\",\n searchTerms: [ \"picker\", \"gpd\" ]\n }, {\n title: \"fab fa-css3\",\n searchTerms: [ \"code\" ]\n }, {\n title: \"fab fa-css3-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-cube\",\n searchTerms: [ \"package\" ]\n }, {\n title: \"fas fa-cubes\",\n searchTerms: [ \"packages\" ]\n }, {\n title: \"fas fa-cut\",\n searchTerms: [ \"scissors\", \"scissors\" ]\n }, {\n title: \"fab fa-cuttlefish\",\n searchTerms: []\n }, {\n title: \"fab fa-d-and-d\",\n searchTerms: []\n }, {\n title: \"fab fa-dashcube\",\n searchTerms: []\n }, {\n title: \"fas fa-database\",\n searchTerms: []\n }, {\n title: \"fas fa-deaf\",\n searchTerms: []\n }, {\n title: \"fab fa-delicious\",\n searchTerms: []\n }, {\n title: \"fab fa-deploydog\",\n searchTerms: []\n }, {\n title: \"fab fa-deskpro\",\n searchTerms: []\n }, {\n title: \"fas fa-desktop\",\n searchTerms: [ \"monitor\", \"screen\", \"desktop\", \"computer\", \"demo\", \"device\", \"pc\" ]\n }, {\n title: \"fab fa-deviantart\",\n searchTerms: []\n }, {\n title: \"fab fa-digg\",\n searchTerms: []\n }, {\n title: \"fab fa-digital-ocean\",\n searchTerms: []\n }, {\n title: \"fab fa-discord\",\n searchTerms: []\n }, {\n title: \"fab fa-discourse\",\n searchTerms: []\n }, {\n title: \"fas fa-dna\",\n searchTerms: [ \"double helix\", \"helix\" ]\n }, {\n title: \"fab fa-dochub\",\n searchTerms: []\n }, {\n title: \"fab fa-docker\",\n searchTerms: []\n }, {\n title: \"fas fa-dollar-sign\",\n searchTerms: [ \"usd\", \"price\" ]\n }, {\n title: \"fas fa-dolly\",\n searchTerms: []\n }, {\n title: \"fas fa-dolly-flatbed\",\n searchTerms: []\n }, {\n title: \"fas fa-dot-circle\",\n searchTerms: [ \"target\", \"bullseye\", \"notification\" ]\n }, {\n title: \"far fa-dot-circle\",\n searchTerms: [ \"target\", \"bullseye\", \"notification\" ]\n }, {\n title: \"fas fa-download\",\n searchTerms: [ \"import\" ]\n }, {\n title: \"fab fa-draft2digital\",\n searchTerms: []\n }, {\n title: \"fab fa-dribbble\",\n searchTerms: []\n }, {\n title: \"fab fa-dribbble-square\",\n searchTerms: []\n }, {\n title: \"fab fa-dropbox\",\n searchTerms: []\n }, {\n title: \"fab fa-drupal\",\n searchTerms: []\n }, {\n title: \"fab fa-dyalog\",\n searchTerms: []\n }, {\n title: \"fab fa-earlybirds\",\n searchTerms: []\n }, {\n title: \"fab fa-edge\",\n searchTerms: [ \"browser\", \"ie\" ]\n }, {\n title: \"fas fa-edit\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"pen\" ]\n }, {\n title: \"far fa-edit\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"pen\" ]\n }, {\n title: \"fas fa-eject\",\n searchTerms: []\n }, {\n title: \"fab fa-elementor\",\n searchTerms: []\n }, {\n title: \"fas fa-ellipsis-h\",\n searchTerms: [ \"dots\" ]\n }, {\n title: \"fas fa-ellipsis-v\",\n searchTerms: [ \"dots\" ]\n }, {\n title: \"fab fa-ember\",\n searchTerms: []\n }, {\n title: \"fab fa-empire\",\n searchTerms: []\n }, {\n title: \"fas fa-envelope\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"far fa-envelope\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fas fa-envelope-open\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"far fa-envelope-open\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fas fa-envelope-square\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fab fa-envira\",\n searchTerms: [ \"leaf\" ]\n }, {\n title: \"fas fa-eraser\",\n searchTerms: [ \"remove\", \"delete\" ]\n }, {\n title: \"fab fa-erlang\",\n searchTerms: []\n }, {\n title: \"fab fa-ethereum\",\n searchTerms: []\n }, {\n title: \"fab fa-etsy\",\n searchTerms: []\n }, {\n title: \"fas fa-euro-sign\",\n searchTerms: [ \"eur\", \"eur\" ]\n }, {\n title: \"fas fa-exchange-alt\",\n searchTerms: [ \"transfer\", \"arrows\", \"arrow\", \"exchange\", \"swap\" ]\n }, {\n title: \"fas fa-exclamation\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-exclamation-circle\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-exclamation-triangle\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-expand\",\n searchTerms: [ \"enlarge\", \"bigger\", \"resize\" ]\n }, {\n title: \"fas fa-expand-arrows-alt\",\n searchTerms: [ \"enlarge\", \"bigger\", \"resize\", \"move\", \"arrows-alt\" ]\n }, {\n title: \"fab fa-expeditedssl\",\n searchTerms: []\n }, {\n title: \"fas fa-external-link-alt\",\n searchTerms: [ \"open\", \"new\", \"external-link\" ]\n }, {\n title: \"fas fa-external-link-square-alt\",\n searchTerms: [ \"open\", \"new\", \"external-link-square\" ]\n }, {\n title: \"fas fa-eye\",\n searchTerms: [ \"show\", \"visible\", \"views\" ]\n }, {\n title: \"fas fa-eye-dropper\",\n searchTerms: [ \"eyedropper\" ]\n }, {\n title: \"fas fa-eye-slash\",\n searchTerms: [ \"toggle\", \"show\", \"hide\", \"visible\", \"visiblity\", \"views\" ]\n }, {\n title: \"far fa-eye-slash\",\n searchTerms: [ \"toggle\", \"show\", \"hide\", \"visible\", \"visiblity\", \"views\" ]\n }, {\n title: \"fab fa-facebook\",\n searchTerms: [ \"social network\", \"facebook-official\" ]\n }, {\n title: \"fab fa-facebook-f\",\n searchTerms: [ \"facebook\" ]\n }, {\n title: \"fab fa-facebook-messenger\",\n searchTerms: []\n }, {\n title: \"fab fa-facebook-square\",\n searchTerms: [ \"social network\" ]\n }, {\n title: \"fas fa-fast-backward\",\n searchTerms: [ \"rewind\", \"previous\", \"beginning\", \"start\", \"first\" ]\n }, {\n title: \"fas fa-fast-forward\",\n searchTerms: [ \"next\", \"end\", \"last\" ]\n }, {\n title: \"fas fa-fax\",\n searchTerms: []\n }, {\n title: \"fas fa-female\",\n searchTerms: [ \"woman\", \"human\", \"user\", \"person\", \"profile\" ]\n }, {\n title: \"fas fa-fighter-jet\",\n searchTerms: [ \"fly\", \"plane\", \"airplane\", \"quick\", \"fast\", \"travel\" ]\n }, {\n title: \"fas fa-file\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\" ]\n }, {\n title: \"far fa-file\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\" ]\n }, {\n title: \"fas fa-file-alt\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\", \"file-text\" ]\n }, {\n title: \"far fa-file-alt\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\", \"file-text\" ]\n }, {\n title: \"fas fa-file-archive\",\n searchTerms: []\n }, {\n title: \"far fa-file-archive\",\n searchTerms: []\n }, {\n title: \"fas fa-file-audio\",\n searchTerms: []\n }, {\n title: \"far fa-file-audio\",\n searchTerms: []\n }, {\n title: \"fas fa-file-code\",\n searchTerms: []\n }, {\n title: \"far fa-file-code\",\n searchTerms: []\n }, {\n title: \"fas fa-file-excel\",\n searchTerms: []\n }, {\n title: \"far fa-file-excel\",\n searchTerms: []\n }, {\n title: \"fas fa-file-image\",\n searchTerms: []\n }, {\n title: \"far fa-file-image\",\n searchTerms: []\n }, {\n title: \"fas fa-file-pdf\",\n searchTerms: []\n }, {\n title: \"far fa-file-pdf\",\n searchTerms: []\n }, {\n title: \"fas fa-file-powerpoint\",\n searchTerms: []\n }, {\n title: \"far fa-file-powerpoint\",\n searchTerms: []\n }, {\n title: \"fas fa-file-video\",\n searchTerms: []\n }, {\n title: \"far fa-file-video\",\n searchTerms: []\n }, {\n title: \"fas fa-file-word\",\n searchTerms: []\n }, {\n title: \"far fa-file-word\",\n searchTerms: []\n }, {\n title: \"fas fa-film\",\n searchTerms: [ \"movie\" ]\n }, {\n title: \"fas fa-filter\",\n searchTerms: [ \"funnel\", \"options\" ]\n }, {\n title: \"fas fa-fire\",\n searchTerms: [ \"flame\", \"hot\", \"popular\" ]\n }, {\n title: \"fas fa-fire-extinguisher\",\n searchTerms: []\n }, {\n title: \"fab fa-firefox\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fas fa-first-aid\",\n searchTerms: []\n }, {\n title: \"fab fa-first-order\",\n searchTerms: []\n }, {\n title: \"fab fa-firstdraft\",\n searchTerms: []\n }, {\n title: \"fas fa-flag\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"far fa-flag\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"fas fa-flag-checkered\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"fas fa-flask\",\n searchTerms: [ \"science\", \"beaker\", \"experimental\", \"labs\" ]\n }, {\n title: \"fab fa-flickr\",\n searchTerms: []\n }, {\n title: \"fab fa-flipboard\",\n searchTerms: []\n }, {\n title: \"fab fa-fly\",\n searchTerms: []\n }, {\n title: \"fas fa-folder\",\n searchTerms: []\n }, {\n title: \"far fa-folder\",\n searchTerms: []\n }, {\n title: \"fas fa-folder-open\",\n searchTerms: []\n }, {\n title: \"far fa-folder-open\",\n searchTerms: []\n }, {\n title: \"fas fa-font\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fab fa-font-awesome\",\n searchTerms: [ \"meanpath\" ]\n }, {\n title: \"fab fa-font-awesome-alt\",\n searchTerms: []\n }, {\n title: \"fab fa-font-awesome-flag\",\n searchTerms: []\n }, {\n title: \"fab fa-fonticons\",\n searchTerms: []\n }, {\n title: \"fab fa-fonticons-fi\",\n searchTerms: []\n }, {\n title: \"fas fa-football-ball\",\n searchTerms: []\n }, {\n title: \"fab fa-fort-awesome\",\n searchTerms: [ \"castle\" ]\n }, {\n title: \"fab fa-fort-awesome-alt\",\n searchTerms: [ \"castle\" ]\n }, {\n title: \"fab fa-forumbee\",\n searchTerms: []\n }, {\n title: \"fas fa-forward\",\n searchTerms: [ \"forward\", \"next\" ]\n }, {\n title: \"fab fa-foursquare\",\n searchTerms: []\n }, {\n title: \"fab fa-free-code-camp\",\n searchTerms: []\n }, {\n title: \"fab fa-freebsd\",\n searchTerms: []\n }, {\n title: \"fas fa-frown\",\n searchTerms: [ \"face\", \"emoticon\", \"sad\", \"disapprove\", \"rating\" ]\n }, {\n title: \"far fa-frown\",\n searchTerms: [ \"face\", \"emoticon\", \"sad\", \"disapprove\", \"rating\" ]\n }, {\n title: \"fas fa-futbol\",\n searchTerms: []\n }, {\n title: \"far fa-futbol\",\n searchTerms: []\n }, {\n title: \"fas fa-gamepad\",\n searchTerms: [ \"controller\" ]\n }, {\n title: \"fas fa-gavel\",\n searchTerms: [ \"judge\", \"lawyer\", \"opinion\", \"hammer\" ]\n }, {\n title: \"fas fa-gem\",\n searchTerms: [ \"diamond\" ]\n }, {\n title: \"far fa-gem\",\n searchTerms: [ \"diamond\" ]\n }, {\n title: \"fas fa-genderless\",\n searchTerms: []\n }, {\n title: \"fab fa-get-pocket\",\n searchTerms: []\n }, {\n title: \"fab fa-gg\",\n searchTerms: []\n }, {\n title: \"fab fa-gg-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-gift\",\n searchTerms: [ \"present\" ]\n }, {\n title: \"fab fa-git\",\n searchTerms: []\n }, {\n title: \"fab fa-git-square\",\n searchTerms: []\n }, {\n title: \"fab fa-github\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-github-alt\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-github-square\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-gitkraken\",\n searchTerms: []\n }, {\n title: \"fab fa-gitlab\",\n searchTerms: [ \"Axosoft\" ]\n }, {\n title: \"fab fa-gitter\",\n searchTerms: []\n }, {\n title: \"fas fa-glass-martini\",\n searchTerms: [ \"martini\", \"drink\", \"bar\", \"alcohol\", \"liquor\", \"glass\" ]\n }, {\n title: \"fab fa-glide\",\n searchTerms: []\n }, {\n title: \"fab fa-glide-g\",\n searchTerms: []\n }, {\n title: \"fas fa-globe\",\n searchTerms: [ \"world\", \"planet\", \"map\", \"place\", \"travel\", \"earth\", \"global\", \"translate\", \"all\", \"language\", \"localize\", \"location\", \"coordinates\", \"country\", \"gps\" ]\n }, {\n title: \"fab fa-gofore\",\n searchTerms: []\n }, {\n title: \"fas fa-golf-ball\",\n searchTerms: []\n }, {\n title: \"fab fa-goodreads\",\n searchTerms: []\n }, {\n title: \"fab fa-goodreads-g\",\n searchTerms: []\n }, {\n title: \"fab fa-google\",\n searchTerms: []\n }, {\n title: \"fab fa-google-drive\",\n searchTerms: []\n }, {\n title: \"fab fa-google-play\",\n searchTerms: []\n }, {\n title: \"fab fa-google-plus\",\n searchTerms: [ \"google-plus-circle\", \"google-plus-official\" ]\n }, {\n title: \"fab fa-google-plus-g\",\n searchTerms: [ \"social network\", \"google-plus\" ]\n }, {\n title: \"fab fa-google-plus-square\",\n searchTerms: [ \"social network\" ]\n }, {\n title: \"fab fa-google-wallet\",\n searchTerms: []\n }, {\n title: \"fas fa-graduation-cap\",\n searchTerms: [ \"learning\", \"school\", \"student\" ]\n }, {\n title: \"fab fa-gratipay\",\n searchTerms: [ \"heart\", \"like\", \"favorite\", \"love\" ]\n }, {\n title: \"fab fa-grav\",\n searchTerms: []\n }, {\n title: \"fab fa-gripfire\",\n searchTerms: []\n }, {\n title: \"fab fa-grunt\",\n searchTerms: []\n }, {\n title: \"fab fa-gulp\",\n searchTerms: []\n }, {\n title: \"fas fa-h-square\",\n searchTerms: [ \"hospital\", \"hotel\" ]\n }, {\n title: \"fab fa-hacker-news\",\n searchTerms: []\n }, {\n title: \"fab fa-hacker-news-square\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-lizard\",\n searchTerms: []\n }, {\n title: \"far fa-hand-lizard\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-paper\",\n searchTerms: [ \"stop\" ]\n }, {\n title: \"far fa-hand-paper\",\n searchTerms: [ \"stop\" ]\n }, {\n title: \"fas fa-hand-peace\",\n searchTerms: []\n }, {\n title: \"far fa-hand-peace\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-point-down\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-down\" ]\n }, {\n title: \"far fa-hand-point-down\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-down\" ]\n }, {\n title: \"fas fa-hand-point-left\",\n searchTerms: [ \"point\", \"left\", \"previous\", \"back\", \"finger\", \"hand-o-left\" ]\n }, {\n title: \"far fa-hand-point-left\",\n searchTerms: [ \"point\", \"left\", \"previous\", \"back\", \"finger\", \"hand-o-left\" ]\n }, {\n title: \"fas fa-hand-point-right\",\n searchTerms: [ \"point\", \"right\", \"next\", \"forward\", \"finger\", \"hand-o-right\" ]\n }, {\n title: \"far fa-hand-point-right\",\n searchTerms: [ \"point\", \"right\", \"next\", \"forward\", \"finger\", \"hand-o-right\" ]\n }, {\n title: \"fas fa-hand-point-up\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-up\" ]\n }, {\n title: \"far fa-hand-point-up\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-up\" ]\n }, {\n title: \"fas fa-hand-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"far fa-hand-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"fas fa-hand-rock\",\n searchTerms: []\n }, {\n title: \"far fa-hand-rock\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-scissors\",\n searchTerms: []\n }, {\n title: \"far fa-hand-scissors\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-spock\",\n searchTerms: []\n }, {\n title: \"far fa-hand-spock\",\n searchTerms: []\n }, {\n title: \"fas fa-handshake\",\n searchTerms: []\n }, {\n title: \"far fa-handshake\",\n searchTerms: []\n }, {\n title: \"fas fa-hashtag\",\n searchTerms: []\n }, {\n title: \"fas fa-hdd\",\n searchTerms: [ \"harddrive\", \"hard drive\", \"storage\", \"save\" ]\n }, {\n title: \"far fa-hdd\",\n searchTerms: [ \"harddrive\", \"hard drive\", \"storage\", \"save\" ]\n }, {\n title: \"fas fa-heading\",\n searchTerms: [ \"header\", \"header\" ]\n }, {\n title: \"fas fa-headphones\",\n searchTerms: [ \"sound\", \"listen\", \"music\", \"audio\" ]\n }, {\n title: \"fas fa-heart\",\n searchTerms: [ \"love\", \"like\", \"favorite\" ]\n }, {\n title: \"far fa-heart\",\n searchTerms: [ \"love\", \"like\", \"favorite\" ]\n }, {\n title: \"fas fa-heartbeat\",\n searchTerms: [ \"ekg\", \"vital signs\" ]\n }, {\n title: \"fab fa-hips\",\n searchTerms: []\n }, {\n title: \"fab fa-hire-a-helper\",\n searchTerms: []\n }, {\n title: \"fas fa-history\",\n searchTerms: []\n }, {\n title: \"fas fa-hockey-puck\",\n searchTerms: []\n }, {\n title: \"fas fa-home\",\n searchTerms: [ \"main\", \"house\" ]\n }, {\n title: \"fab fa-hooli\",\n searchTerms: []\n }, {\n title: \"fas fa-hospital\",\n searchTerms: [ \"building\", \"medical center\", \"emergency room\" ]\n }, {\n title: \"far fa-hospital\",\n searchTerms: [ \"building\", \"medical center\", \"emergency room\" ]\n }, {\n title: \"fas fa-hospital-symbol\",\n searchTerms: []\n }, {\n title: \"fab fa-hotjar\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass\",\n searchTerms: []\n }, {\n title: \"far fa-hourglass\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-end\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-half\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-start\",\n searchTerms: []\n }, {\n title: \"fab fa-houzz\",\n searchTerms: []\n }, {\n title: \"fab fa-html5\",\n searchTerms: []\n }, {\n title: \"fab fa-hubspot\",\n searchTerms: []\n }, {\n title: \"fas fa-i-cursor\",\n searchTerms: []\n }, {\n title: \"fas fa-id-badge\",\n searchTerms: []\n }, {\n title: \"far fa-id-badge\",\n searchTerms: []\n }, {\n title: \"fas fa-id-card\",\n searchTerms: []\n }, {\n title: \"far fa-id-card\",\n searchTerms: []\n }, {\n title: \"fas fa-image\",\n searchTerms: [ \"photo\", \"album\", \"picture\", \"picture\" ]\n }, {\n title: \"far fa-image\",\n searchTerms: [ \"photo\", \"album\", \"picture\", \"picture\" ]\n }, {\n title: \"fas fa-images\",\n searchTerms: [ \"photo\", \"album\", \"picture\" ]\n }, {\n title: \"far fa-images\",\n searchTerms: [ \"photo\", \"album\", \"picture\" ]\n }, {\n title: \"fab fa-imdb\",\n searchTerms: []\n }, {\n title: \"fas fa-inbox\",\n searchTerms: []\n }, {\n title: \"fas fa-indent\",\n searchTerms: []\n }, {\n title: \"fas fa-industry\",\n searchTerms: [ \"factory\" ]\n }, {\n title: \"fas fa-info\",\n searchTerms: [ \"help\", \"information\", \"more\", \"details\" ]\n }, {\n title: \"fas fa-info-circle\",\n searchTerms: [ \"help\", \"information\", \"more\", \"details\" ]\n }, {\n title: \"fab fa-instagram\",\n searchTerms: []\n }, {\n title: \"fab fa-internet-explorer\",\n searchTerms: [ \"browser\", \"ie\" ]\n }, {\n title: \"fab fa-ioxhost\",\n searchTerms: []\n }, {\n title: \"fas fa-italic\",\n searchTerms: [ \"italics\" ]\n }, {\n title: \"fab fa-itunes\",\n searchTerms: []\n }, {\n title: \"fab fa-itunes-note\",\n searchTerms: []\n }, {\n title: \"fab fa-jenkins\",\n searchTerms: []\n }, {\n title: \"fab fa-joget\",\n searchTerms: []\n }, {\n title: \"fab fa-joomla\",\n searchTerms: []\n }, {\n title: \"fab fa-js\",\n searchTerms: []\n }, {\n title: \"fab fa-js-square\",\n searchTerms: []\n }, {\n title: \"fab fa-jsfiddle\",\n searchTerms: []\n }, {\n title: \"fas fa-key\",\n searchTerms: [ \"unlock\", \"password\" ]\n }, {\n title: \"fas fa-keyboard\",\n searchTerms: [ \"type\", \"input\" ]\n }, {\n title: \"far fa-keyboard\",\n searchTerms: [ \"type\", \"input\" ]\n }, {\n title: \"fab fa-keycdn\",\n searchTerms: []\n }, {\n title: \"fab fa-kickstarter\",\n searchTerms: []\n }, {\n title: \"fab fa-kickstarter-k\",\n searchTerms: []\n }, {\n title: \"fab fa-korvue\",\n searchTerms: []\n }, {\n title: \"fas fa-language\",\n searchTerms: []\n }, {\n title: \"fas fa-laptop\",\n searchTerms: [ \"demo\", \"computer\", \"device\", \"pc\" ]\n }, {\n title: \"fab fa-laravel\",\n searchTerms: []\n }, {\n title: \"fab fa-lastfm\",\n searchTerms: []\n }, {\n title: \"fab fa-lastfm-square\",\n searchTerms: []\n }, {\n title: \"fas fa-leaf\",\n searchTerms: [ \"eco\", \"nature\", \"plant\" ]\n }, {\n title: \"fab fa-leanpub\",\n searchTerms: []\n }, {\n title: \"fas fa-lemon\",\n searchTerms: [ \"food\" ]\n }, {\n title: \"far fa-lemon\",\n searchTerms: [ \"food\" ]\n }, {\n title: \"fab fa-less\",\n searchTerms: []\n }, {\n title: \"fas fa-level-down-alt\",\n searchTerms: [ \"level-down\" ]\n }, {\n title: \"fas fa-level-up-alt\",\n searchTerms: [ \"level-up\" ]\n }, {\n title: \"fas fa-life-ring\",\n searchTerms: [ \"support\" ]\n }, {\n title: \"far fa-life-ring\",\n searchTerms: [ \"support\" ]\n }, {\n title: \"fas fa-lightbulb\",\n searchTerms: [ \"idea\", \"inspiration\" ]\n }, {\n title: \"far fa-lightbulb\",\n searchTerms: [ \"idea\", \"inspiration\" ]\n }, {\n title: \"fab fa-line\",\n searchTerms: []\n }, {\n title: \"fas fa-link\",\n searchTerms: [ \"chain\" ]\n }, {\n title: \"fab fa-linkedin\",\n searchTerms: [ \"linkedin-square\" ]\n }, {\n title: \"fab fa-linkedin-in\",\n searchTerms: [ \"linkedin\" ]\n }, {\n title: \"fab fa-linode\",\n searchTerms: []\n }, {\n title: \"fab fa-linux\",\n searchTerms: [ \"tux\" ]\n }, {\n title: \"fas fa-lira-sign\",\n searchTerms: [ \"try\", \"turkish\", \"try\" ]\n }, {\n title: \"fas fa-list\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fas fa-list-alt\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"far fa-list-alt\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fas fa-list-ol\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"list\", \"todo\", \"list\", \"numbers\" ]\n }, {\n title: \"fas fa-list-ul\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"todo\", \"list\" ]\n }, {\n title: \"fas fa-location-arrow\",\n searchTerms: [ \"map\", \"coordinates\", \"location\", \"address\", \"place\", \"where\", \"gps\" ]\n }, {\n title: \"fas fa-lock\",\n searchTerms: [ \"protect\", \"admin\", \"security\" ]\n }, {\n title: \"fas fa-lock-open\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\", \"open\" ]\n }, {\n title: \"fas fa-long-arrow-alt-down\",\n searchTerms: [ \"long-arrow-down\" ]\n }, {\n title: \"fas fa-long-arrow-alt-left\",\n searchTerms: [ \"previous\", \"back\", \"long-arrow-left\" ]\n }, {\n title: \"fas fa-long-arrow-alt-right\",\n searchTerms: [ \"long-arrow-right\" ]\n }, {\n title: \"fas fa-long-arrow-alt-up\",\n searchTerms: [ \"long-arrow-up\" ]\n }, {\n title: \"fas fa-low-vision\",\n searchTerms: []\n }, {\n title: \"fab fa-lyft\",\n searchTerms: []\n }, {\n title: \"fab fa-magento\",\n searchTerms: []\n }, {\n title: \"fas fa-magic\",\n searchTerms: [ \"wizard\", \"automatic\", \"autocomplete\" ]\n }, {\n title: \"fas fa-magnet\",\n searchTerms: []\n }, {\n title: \"fas fa-male\",\n searchTerms: [ \"man\", \"human\", \"user\", \"person\", \"profile\" ]\n }, {\n title: \"fas fa-map\",\n searchTerms: []\n }, {\n title: \"far fa-map\",\n searchTerms: []\n }, {\n title: \"fas fa-map-marker\",\n searchTerms: [ \"map\", \"pin\", \"location\", \"coordinates\", \"localize\", \"address\", \"travel\", \"where\", \"place\", \"gps\" ]\n }, {\n title: \"fas fa-map-marker-alt\",\n searchTerms: [ \"map-marker\", \"gps\" ]\n }, {\n title: \"fas fa-map-pin\",\n searchTerms: []\n }, {\n title: \"fas fa-map-signs\",\n searchTerms: []\n }, {\n title: \"fas fa-mars\",\n searchTerms: [ \"male\" ]\n }, {\n title: \"fas fa-mars-double\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke-h\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke-v\",\n searchTerms: []\n }, {\n title: \"fab fa-maxcdn\",\n searchTerms: []\n }, {\n title: \"fab fa-medapps\",\n searchTerms: []\n }, {\n title: \"fab fa-medium\",\n searchTerms: []\n }, {\n title: \"fab fa-medium-m\",\n searchTerms: []\n }, {\n title: \"fas fa-medkit\",\n searchTerms: [ \"first aid\", \"firstaid\", \"help\", \"support\", \"health\" ]\n }, {\n title: \"fab fa-medrt\",\n searchTerms: []\n }, {\n title: \"fab fa-meetup\",\n searchTerms: []\n }, {\n title: \"fas fa-meh\",\n searchTerms: [ \"face\", \"emoticon\", \"rating\", \"neutral\" ]\n }, {\n title: \"far fa-meh\",\n searchTerms: [ \"face\", \"emoticon\", \"rating\", \"neutral\" ]\n }, {\n title: \"fas fa-mercury\",\n searchTerms: [ \"transgender\" ]\n }, {\n title: \"fas fa-microchip\",\n searchTerms: []\n }, {\n title: \"fas fa-microphone\",\n searchTerms: [ \"record\", \"voice\", \"sound\" ]\n }, {\n title: \"fas fa-microphone-slash\",\n searchTerms: [ \"record\", \"voice\", \"sound\", \"mute\" ]\n }, {\n title: \"fab fa-microsoft\",\n searchTerms: []\n }, {\n title: \"fas fa-minus\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"fas fa-minus-circle\",\n searchTerms: [ \"delete\", \"remove\", \"trash\", \"hide\" ]\n }, {\n title: \"fas fa-minus-square\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"far fa-minus-square\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"fab fa-mix\",\n searchTerms: []\n }, {\n title: \"fab fa-mixcloud\",\n searchTerms: []\n }, {\n title: \"fab fa-mizuni\",\n searchTerms: []\n }, {\n title: \"fas fa-mobile\",\n searchTerms: [ \"cell phone\", \"cellphone\", \"text\", \"call\", \"iphone\", \"number\", \"telephone\" ]\n }, {\n title: \"fas fa-mobile-alt\",\n searchTerms: [ \"mobile\" ]\n }, {\n title: \"fab fa-modx\",\n searchTerms: []\n }, {\n title: \"fab fa-monero\",\n searchTerms: []\n }, {\n title: \"fas fa-money-bill-alt\",\n searchTerms: [ \"cash\", \"money\", \"buy\", \"checkout\", \"purchase\", \"payment\", \"price\" ]\n }, {\n title: \"far fa-money-bill-alt\",\n searchTerms: [ \"cash\", \"money\", \"buy\", \"checkout\", \"purchase\", \"payment\", \"price\" ]\n }, {\n title: \"fas fa-moon\",\n searchTerms: [ \"night\", \"darker\", \"contrast\" ]\n }, {\n title: \"far fa-moon\",\n searchTerms: [ \"night\", \"darker\", \"contrast\" ]\n }, {\n title: \"fas fa-motorcycle\",\n searchTerms: [ \"vehicle\", \"bike\" ]\n }, {\n title: \"fas fa-mouse-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"fas fa-music\",\n searchTerms: [ \"note\", \"sound\" ]\n }, {\n title: \"fab fa-napster\",\n searchTerms: []\n }, {\n title: \"fas fa-neuter\",\n searchTerms: []\n }, {\n title: \"fas fa-newspaper\",\n searchTerms: [ \"press\", \"article\" ]\n }, {\n title: \"far fa-newspaper\",\n searchTerms: [ \"press\", \"article\" ]\n }, {\n title: \"fab fa-nintendo-switch\",\n searchTerms: []\n }, {\n title: \"fab fa-node\",\n searchTerms: []\n }, {\n title: \"fab fa-node-js\",\n searchTerms: []\n }, {\n title: \"fab fa-npm\",\n searchTerms: []\n }, {\n title: \"fab fa-ns8\",\n searchTerms: []\n }, {\n title: \"fab fa-nutritionix\",\n searchTerms: []\n }, {\n title: \"fas fa-object-group\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"far fa-object-group\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fas fa-object-ungroup\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"far fa-object-ungroup\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fab fa-odnoklassniki\",\n searchTerms: []\n }, {\n title: \"fab fa-odnoklassniki-square\",\n searchTerms: []\n }, {\n title: \"fab fa-opencart\",\n searchTerms: []\n }, {\n title: \"fab fa-openid\",\n searchTerms: []\n }, {\n title: \"fab fa-opera\",\n searchTerms: []\n }, {\n title: \"fab fa-optin-monster\",\n searchTerms: []\n }, {\n title: \"fab fa-osi\",\n searchTerms: []\n }, {\n title: \"fas fa-outdent\",\n searchTerms: []\n }, {\n title: \"fab fa-page4\",\n searchTerms: []\n }, {\n title: \"fab fa-pagelines\",\n searchTerms: [ \"leaf\", \"leaves\", \"tree\", \"plant\", \"eco\", \"nature\" ]\n }, {\n title: \"fas fa-paint-brush\",\n searchTerms: []\n }, {\n title: \"fab fa-palfed\",\n searchTerms: []\n }, {\n title: \"fas fa-pallet\",\n searchTerms: []\n }, {\n title: \"fas fa-paper-plane\",\n searchTerms: []\n }, {\n title: \"far fa-paper-plane\",\n searchTerms: []\n }, {\n title: \"fas fa-paperclip\",\n searchTerms: [ \"attachment\" ]\n }, {\n title: \"fas fa-paragraph\",\n searchTerms: []\n }, {\n title: \"fas fa-paste\",\n searchTerms: [ \"copy\", \"clipboard\" ]\n }, {\n title: \"fab fa-patreon\",\n searchTerms: []\n }, {\n title: \"fas fa-pause\",\n searchTerms: [ \"wait\" ]\n }, {\n title: \"fas fa-pause-circle\",\n searchTerms: []\n }, {\n title: \"far fa-pause-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-paw\",\n searchTerms: [ \"pet\" ]\n }, {\n title: \"fab fa-paypal\",\n searchTerms: []\n }, {\n title: \"fas fa-pen-square\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil-square\" ]\n }, {\n title: \"fas fa-pencil-alt\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"design\" ]\n }, {\n title: \"fas fa-percent\",\n searchTerms: []\n }, {\n title: \"fab fa-periscope\",\n searchTerms: []\n }, {\n title: \"fab fa-phabricator\",\n searchTerms: []\n }, {\n title: \"fab fa-phoenix-framework\",\n searchTerms: []\n }, {\n title: \"fas fa-phone\",\n searchTerms: [ \"call\", \"voice\", \"number\", \"support\", \"earphone\", \"telephone\" ]\n }, {\n title: \"fas fa-phone-square\",\n searchTerms: [ \"call\", \"voice\", \"number\", \"support\", \"telephone\" ]\n }, {\n title: \"fas fa-phone-volume\",\n searchTerms: [ \"telephone\", \"volume-control-phone\" ]\n }, {\n title: \"fab fa-php\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper-alt\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper-pp\",\n searchTerms: []\n }, {\n title: \"fas fa-pills\",\n searchTerms: [ \"medicine\", \"drugs\" ]\n }, {\n title: \"fab fa-pinterest\",\n searchTerms: []\n }, {\n title: \"fab fa-pinterest-p\",\n searchTerms: []\n }, {\n title: \"fab fa-pinterest-square\",\n searchTerms: []\n }, {\n title: \"fas fa-plane\",\n searchTerms: [ \"travel\", \"trip\", \"location\", \"destination\", \"airplane\", \"fly\", \"mode\" ]\n }, {\n title: \"fas fa-play\",\n searchTerms: [ \"start\", \"playing\", \"music\", \"sound\" ]\n }, {\n title: \"fas fa-play-circle\",\n searchTerms: [ \"start\", \"playing\" ]\n }, {\n title: \"far fa-play-circle\",\n searchTerms: [ \"start\", \"playing\" ]\n }, {\n title: \"fab fa-playstation\",\n searchTerms: []\n }, {\n title: \"fas fa-plug\",\n searchTerms: [ \"power\", \"connect\" ]\n }, {\n title: \"fas fa-plus\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-plus-circle\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-plus-square\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"far fa-plus-square\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-podcast\",\n searchTerms: []\n }, {\n title: \"fas fa-pound-sign\",\n searchTerms: [ \"gbp\", \"gbp\" ]\n }, {\n title: \"fas fa-power-off\",\n searchTerms: [ \"on\" ]\n }, {\n title: \"fas fa-print\",\n searchTerms: []\n }, {\n title: \"fab fa-product-hunt\",\n searchTerms: []\n }, {\n title: \"fab fa-pushed\",\n searchTerms: []\n }, {\n title: \"fas fa-puzzle-piece\",\n searchTerms: [ \"addon\", \"add-on\", \"section\" ]\n }, {\n title: \"fab fa-python\",\n searchTerms: []\n }, {\n title: \"fab fa-qq\",\n searchTerms: []\n }, {\n title: \"fas fa-qrcode\",\n searchTerms: [ \"scan\" ]\n }, {\n title: \"fas fa-question\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"fas fa-question-circle\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"far fa-question-circle\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"fas fa-quidditch\",\n searchTerms: []\n }, {\n title: \"fab fa-quinscape\",\n searchTerms: []\n }, {\n title: \"fab fa-quora\",\n searchTerms: []\n }, {\n title: \"fas fa-quote-left\",\n searchTerms: []\n }, {\n title: \"fas fa-quote-right\",\n searchTerms: []\n }, {\n title: \"fas fa-random\",\n searchTerms: [ \"sort\", \"shuffle\" ]\n }, {\n title: \"fab fa-ravelry\",\n searchTerms: []\n }, {\n title: \"fab fa-react\",\n searchTerms: []\n }, {\n title: \"fab fa-rebel\",\n searchTerms: []\n }, {\n title: \"fas fa-recycle\",\n searchTerms: []\n }, {\n title: \"fab fa-red-river\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit-alien\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit-square\",\n searchTerms: []\n }, {\n title: \"fas fa-redo\",\n searchTerms: [ \"forward\", \"repeat\", \"repeat\" ]\n }, {\n title: \"fas fa-redo-alt\",\n searchTerms: [ \"forward\", \"repeat\" ]\n }, {\n title: \"fas fa-registered\",\n searchTerms: []\n }, {\n title: \"far fa-registered\",\n searchTerms: []\n }, {\n title: \"fab fa-rendact\",\n searchTerms: []\n }, {\n title: \"fab fa-renren\",\n searchTerms: []\n }, {\n title: \"fas fa-reply\",\n searchTerms: []\n }, {\n title: \"fas fa-reply-all\",\n searchTerms: []\n }, {\n title: \"fab fa-replyd\",\n searchTerms: []\n }, {\n title: \"fab fa-resolving\",\n searchTerms: []\n }, {\n title: \"fas fa-retweet\",\n searchTerms: [ \"refresh\", \"reload\", \"share\", \"swap\" ]\n }, {\n title: \"fas fa-road\",\n searchTerms: [ \"street\" ]\n }, {\n title: \"fas fa-rocket\",\n searchTerms: [ \"app\" ]\n }, {\n title: \"fab fa-rocketchat\",\n searchTerms: []\n }, {\n title: \"fab fa-rockrms\",\n searchTerms: []\n }, {\n title: \"fas fa-rss\",\n searchTerms: [ \"blog\" ]\n }, {\n title: \"fas fa-rss-square\",\n searchTerms: [ \"feed\", \"blog\" ]\n }, {\n title: \"fas fa-ruble-sign\",\n searchTerms: [ \"rub\", \"rub\" ]\n }, {\n title: \"fas fa-rupee-sign\",\n searchTerms: [ \"indian\", \"inr\" ]\n }, {\n title: \"fab fa-safari\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fab fa-sass\",\n searchTerms: []\n }, {\n title: \"fas fa-save\",\n searchTerms: [ \"floppy\", \"floppy-o\" ]\n }, {\n title: \"far fa-save\",\n searchTerms: [ \"floppy\", \"floppy-o\" ]\n }, {\n title: \"fab fa-schlix\",\n searchTerms: []\n }, {\n title: \"fab fa-scribd\",\n searchTerms: []\n }, {\n title: \"fas fa-search\",\n searchTerms: [ \"magnify\", \"zoom\", \"enlarge\", \"bigger\" ]\n }, {\n title: \"fas fa-search-minus\",\n searchTerms: [ \"magnify\", \"minify\", \"zoom\", \"smaller\" ]\n }, {\n title: \"fas fa-search-plus\",\n searchTerms: [ \"magnify\", \"zoom\", \"enlarge\", \"bigger\" ]\n }, {\n title: \"fab fa-searchengin\",\n searchTerms: []\n }, {\n title: \"fab fa-sellcast\",\n searchTerms: [ \"eercast\" ]\n }, {\n title: \"fab fa-sellsy\",\n searchTerms: []\n }, {\n title: \"fas fa-server\",\n searchTerms: []\n }, {\n title: \"fab fa-servicestack\",\n searchTerms: []\n }, {\n title: \"fas fa-share\",\n searchTerms: []\n }, {\n title: \"fas fa-share-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-share-alt-square\",\n searchTerms: []\n }, {\n title: \"fas fa-share-square\",\n searchTerms: [ \"social\", \"send\" ]\n }, {\n title: \"far fa-share-square\",\n searchTerms: [ \"social\", \"send\" ]\n }, {\n title: \"fas fa-shekel-sign\",\n searchTerms: [ \"ils\", \"ils\" ]\n }, {\n title: \"fas fa-shield-alt\",\n searchTerms: [ \"shield\" ]\n }, {\n title: \"fas fa-ship\",\n searchTerms: [ \"boat\", \"sea\" ]\n }, {\n title: \"fas fa-shipping-fast\",\n searchTerms: []\n }, {\n title: \"fab fa-shirtsinbulk\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-bag\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-basket\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-cart\",\n searchTerms: [ \"checkout\", \"buy\", \"purchase\", \"payment\" ]\n }, {\n title: \"fas fa-shower\",\n searchTerms: []\n }, {\n title: \"fas fa-sign-in-alt\",\n searchTerms: [ \"enter\", \"join\", \"log in\", \"login\", \"sign up\", \"sign in\", \"signin\", \"signup\", \"arrow\", \"sign-in\" ]\n }, {\n title: \"fas fa-sign-language\",\n searchTerms: []\n }, {\n title: \"fas fa-sign-out-alt\",\n searchTerms: [ \"log out\", \"logout\", \"leave\", \"exit\", \"arrow\", \"sign-out\" ]\n }, {\n title: \"fas fa-signal\",\n searchTerms: [ \"graph\", \"bars\", \"status\" ]\n }, {\n title: \"fab fa-simplybuilt\",\n searchTerms: []\n }, {\n title: \"fab fa-sistrix\",\n searchTerms: []\n }, {\n title: \"fas fa-sitemap\",\n searchTerms: [ \"directory\", \"hierarchy\", \"organization\" ]\n }, {\n title: \"fab fa-skyatlas\",\n searchTerms: []\n }, {\n title: \"fab fa-skype\",\n searchTerms: []\n }, {\n title: \"fab fa-slack\",\n searchTerms: [ \"hashtag\", \"anchor\", \"hash\" ]\n }, {\n title: \"fab fa-slack-hash\",\n searchTerms: [ \"hashtag\", \"anchor\", \"hash\" ]\n }, {\n title: \"fas fa-sliders-h\",\n searchTerms: [ \"settings\", \"sliders\" ]\n }, {\n title: \"fab fa-slideshare\",\n searchTerms: []\n }, {\n title: \"fas fa-smile\",\n searchTerms: [ \"face\", \"emoticon\", \"happy\", \"approve\", \"satisfied\", \"rating\" ]\n }, {\n title: \"far fa-smile\",\n searchTerms: [ \"face\", \"emoticon\", \"happy\", \"approve\", \"satisfied\", \"rating\" ]\n }, {\n title: \"fab fa-snapchat\",\n searchTerms: []\n }, {\n title: \"fab fa-snapchat-ghost\",\n searchTerms: []\n }, {\n title: \"fab fa-snapchat-square\",\n searchTerms: []\n }, {\n title: \"fas fa-snowflake\",\n searchTerms: []\n }, {\n title: \"far fa-snowflake\",\n searchTerms: []\n }, {\n title: \"fas fa-sort\",\n searchTerms: [ \"order\" ]\n }, {\n title: \"fas fa-sort-alpha-down\",\n searchTerms: [ \"sort-alpha-asc\" ]\n }, {\n title: \"fas fa-sort-alpha-up\",\n searchTerms: [ \"sort-alpha-desc\" ]\n }, {\n title: \"fas fa-sort-amount-down\",\n searchTerms: [ \"sort-amount-asc\" ]\n }, {\n title: \"fas fa-sort-amount-up\",\n searchTerms: [ \"sort-amount-desc\" ]\n }, {\n title: \"fas fa-sort-down\",\n searchTerms: [ \"arrow\", \"descending\", \"sort-desc\" ]\n }, {\n title: \"fas fa-sort-numeric-down\",\n searchTerms: [ \"numbers\", \"sort-numeric-asc\" ]\n }, {\n title: \"fas fa-sort-numeric-up\",\n searchTerms: [ \"numbers\", \"sort-numeric-desc\" ]\n }, {\n title: \"fas fa-sort-up\",\n searchTerms: [ \"arrow\", \"ascending\", \"sort-asc\" ]\n }, {\n title: \"fab fa-soundcloud\",\n searchTerms: []\n }, {\n title: \"fas fa-space-shuttle\",\n searchTerms: []\n }, {\n title: \"fab fa-speakap\",\n searchTerms: []\n }, {\n title: \"fas fa-spinner\",\n searchTerms: [ \"loading\", \"progress\" ]\n }, {\n title: \"fab fa-spotify\",\n searchTerms: []\n }, {\n title: \"fas fa-square\",\n searchTerms: [ \"block\", \"box\" ]\n }, {\n title: \"far fa-square\",\n searchTerms: [ \"block\", \"box\" ]\n }, {\n title: \"fas fa-square-full\",\n searchTerms: []\n }, {\n title: \"fab fa-stack-exchange\",\n searchTerms: []\n }, {\n title: \"fab fa-stack-overflow\",\n searchTerms: []\n }, {\n title: \"fas fa-star\",\n searchTerms: [ \"award\", \"achievement\", \"night\", \"rating\", \"score\", \"favorite\" ]\n }, {\n title: \"far fa-star\",\n searchTerms: [ \"award\", \"achievement\", \"night\", \"rating\", \"score\", \"favorite\" ]\n }, {\n title: \"fas fa-star-half\",\n searchTerms: [ \"award\", \"achievement\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n }, {\n title: \"far fa-star-half\",\n searchTerms: [ \"award\", \"achievement\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n }, {\n title: \"fab fa-staylinked\",\n searchTerms: []\n }, {\n title: \"fab fa-steam\",\n searchTerms: []\n }, {\n title: \"fab fa-steam-square\",\n searchTerms: []\n }, {\n title: \"fab fa-steam-symbol\",\n searchTerms: []\n }, {\n title: \"fas fa-step-backward\",\n searchTerms: [ \"rewind\", \"previous\", \"beginning\", \"start\", \"first\" ]\n }, {\n title: \"fas fa-step-forward\",\n searchTerms: [ \"next\", \"end\", \"last\" ]\n }, {\n title: \"fas fa-stethoscope\",\n searchTerms: []\n }, {\n title: \"fab fa-sticker-mule\",\n searchTerms: []\n }, {\n title: \"fas fa-sticky-note\",\n searchTerms: []\n }, {\n title: \"far fa-sticky-note\",\n searchTerms: []\n }, {\n title: \"fas fa-stop\",\n searchTerms: [ \"block\", \"box\", \"square\" ]\n }, {\n title: \"fas fa-stop-circle\",\n searchTerms: []\n }, {\n title: \"far fa-stop-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-stopwatch\",\n searchTerms: [ \"time\" ]\n }, {\n title: \"fab fa-strava\",\n searchTerms: []\n }, {\n title: \"fas fa-street-view\",\n searchTerms: [ \"map\" ]\n }, {\n title: \"fas fa-strikethrough\",\n searchTerms: []\n }, {\n title: \"fab fa-stripe\",\n searchTerms: []\n }, {\n title: \"fab fa-stripe-s\",\n searchTerms: []\n }, {\n title: \"fab fa-studiovinari\",\n searchTerms: []\n }, {\n title: \"fab fa-stumbleupon\",\n searchTerms: []\n }, {\n title: \"fab fa-stumbleupon-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-subscript\",\n searchTerms: []\n }, {\n title: \"fas fa-subway\",\n searchTerms: []\n }, {\n title: \"fas fa-suitcase\",\n searchTerms: [ \"trip\", \"luggage\", \"travel\", \"move\", \"baggage\" ]\n }, {\n title: \"fas fa-sun\",\n searchTerms: [ \"weather\", \"contrast\", \"lighter\", \"brighten\", \"day\" ]\n }, {\n title: \"far fa-sun\",\n searchTerms: [ \"weather\", \"contrast\", \"lighter\", \"brighten\", \"day\" ]\n }, {\n title: \"fab fa-superpowers\",\n searchTerms: []\n }, {\n title: \"fas fa-superscript\",\n searchTerms: [ \"exponential\" ]\n }, {\n title: \"fab fa-supple\",\n searchTerms: []\n }, {\n title: \"fas fa-sync\",\n searchTerms: [ \"reload\", \"refresh\", \"refresh\" ]\n }, {\n title: \"fas fa-sync-alt\",\n searchTerms: [ \"reload\", \"refresh\" ]\n }, {\n title: \"fas fa-syringe\",\n searchTerms: [ \"immunizations\", \"needle\" ]\n }, {\n title: \"fas fa-table\",\n searchTerms: [ \"data\", \"excel\", \"spreadsheet\" ]\n }, {\n title: \"fas fa-table-tennis\",\n searchTerms: []\n }, {\n title: \"fas fa-tablet\",\n searchTerms: [ \"ipad\", \"device\" ]\n }, {\n title: \"fas fa-tablet-alt\",\n searchTerms: [ \"tablet\" ]\n }, {\n title: \"fas fa-tachometer-alt\",\n searchTerms: [ \"tachometer\", \"dashboard\" ]\n }, {\n title: \"fas fa-tag\",\n searchTerms: [ \"label\" ]\n }, {\n title: \"fas fa-tags\",\n searchTerms: [ \"labels\" ]\n }, {\n title: \"fas fa-tasks\",\n searchTerms: [ \"progress\", \"loading\", \"downloading\", \"downloads\", \"settings\" ]\n }, {\n title: \"fas fa-taxi\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fab fa-telegram\",\n searchTerms: []\n }, {\n title: \"fab fa-telegram-plane\",\n searchTerms: []\n }, {\n title: \"fab fa-tencent-weibo\",\n searchTerms: []\n }, {\n title: \"fas fa-terminal\",\n searchTerms: [ \"command\", \"prompt\", \"code\" ]\n }, {\n title: \"fas fa-text-height\",\n searchTerms: []\n }, {\n title: \"fas fa-text-width\",\n searchTerms: []\n }, {\n title: \"fas fa-th\",\n searchTerms: [ \"blocks\", \"squares\", \"boxes\", \"grid\" ]\n }, {\n title: \"fas fa-th-large\",\n searchTerms: [ \"blocks\", \"squares\", \"boxes\", \"grid\" ]\n }, {\n title: \"fas fa-th-list\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fab fa-themeisle\",\n searchTerms: []\n }, {\n title: \"fas fa-thermometer\",\n searchTerms: [ \"temperature\", \"fever\" ]\n }, {\n title: \"fas fa-thermometer-empty\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-full\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-half\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-quarter\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-three-quarters\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thumbs-down\",\n searchTerms: [ \"dislike\", \"disapprove\", \"disagree\", \"hand\", \"thumbs-o-down\" ]\n }, {\n title: \"far fa-thumbs-down\",\n searchTerms: [ \"dislike\", \"disapprove\", \"disagree\", \"hand\", \"thumbs-o-down\" ]\n }, {\n title: \"fas fa-thumbs-up\",\n searchTerms: [ \"like\", \"favorite\", \"approve\", \"agree\", \"hand\", \"thumbs-o-up\" ]\n }, {\n title: \"far fa-thumbs-up\",\n searchTerms: [ \"like\", \"favorite\", \"approve\", \"agree\", \"hand\", \"thumbs-o-up\" ]\n }, {\n title: \"fas fa-thumbtack\",\n searchTerms: [ \"marker\", \"pin\", \"location\", \"coordinates\", \"thumb-tack\" ]\n }, {\n title: \"fas fa-ticket-alt\",\n searchTerms: [ \"ticket\" ]\n }, {\n title: \"fas fa-times\",\n searchTerms: [ \"close\", \"exit\", \"x\", \"cross\" ]\n }, {\n title: \"fas fa-times-circle\",\n searchTerms: [ \"close\", \"exit\", \"x\" ]\n }, {\n title: \"far fa-times-circle\",\n searchTerms: [ \"close\", \"exit\", \"x\" ]\n }, {\n title: \"fas fa-tint\",\n searchTerms: [ \"raindrop\", \"waterdrop\", \"drop\", \"droplet\" ]\n }, {\n title: \"fas fa-toggle-off\",\n searchTerms: [ \"switch\" ]\n }, {\n title: \"fas fa-toggle-on\",\n searchTerms: [ \"switch\" ]\n }, {\n title: \"fas fa-trademark\",\n searchTerms: []\n }, {\n title: \"fas fa-train\",\n searchTerms: []\n }, {\n title: \"fas fa-transgender\",\n searchTerms: [ \"intersex\" ]\n }, {\n title: \"fas fa-transgender-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-trash\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\" ]\n }, {\n title: \"fas fa-trash-alt\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\", \"trash\", \"trash-o\" ]\n }, {\n title: \"far fa-trash-alt\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\", \"trash\", \"trash-o\" ]\n }, {\n title: \"fas fa-tree\",\n searchTerms: []\n }, {\n title: \"fab fa-trello\",\n searchTerms: []\n }, {\n title: \"fab fa-tripadvisor\",\n searchTerms: []\n }, {\n title: \"fas fa-trophy\",\n searchTerms: [ \"award\", \"achievement\", \"cup\", \"winner\", \"game\" ]\n }, {\n title: \"fas fa-truck\",\n searchTerms: [ \"shipping\" ]\n }, {\n title: \"fas fa-tty\",\n searchTerms: []\n }, {\n title: \"fab fa-tumblr\",\n searchTerms: []\n }, {\n title: \"fab fa-tumblr-square\",\n searchTerms: []\n }, {\n title: \"fas fa-tv\",\n searchTerms: [ \"display\", \"computer\", \"monitor\", \"television\" ]\n }, {\n title: \"fab fa-twitch\",\n searchTerms: []\n }, {\n title: \"fab fa-twitter\",\n searchTerms: [ \"tweet\", \"social network\" ]\n }, {\n title: \"fab fa-twitter-square\",\n searchTerms: [ \"tweet\", \"social network\" ]\n }, {\n title: \"fab fa-typo3\",\n searchTerms: []\n }, {\n title: \"fab fa-uber\",\n searchTerms: []\n }, {\n title: \"fab fa-uikit\",\n searchTerms: []\n }, {\n title: \"fas fa-umbrella\",\n searchTerms: []\n }, {\n title: \"fas fa-underline\",\n searchTerms: []\n }, {\n title: \"fas fa-undo\",\n searchTerms: [ \"back\" ]\n }, {\n title: \"fas fa-undo-alt\",\n searchTerms: [ \"back\" ]\n }, {\n title: \"fab fa-uniregistry\",\n searchTerms: []\n }, {\n title: \"fas fa-universal-access\",\n searchTerms: []\n }, {\n title: \"fas fa-university\",\n searchTerms: [ \"bank\", \"institution\" ]\n }, {\n title: \"fas fa-unlink\",\n searchTerms: [ \"remove\", \"chain\", \"chain-broken\" ]\n }, {\n title: \"fas fa-unlock\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\" ]\n }, {\n title: \"fas fa-unlock-alt\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\" ]\n }, {\n title: \"fab fa-untappd\",\n searchTerms: []\n }, {\n title: \"fas fa-upload\",\n searchTerms: [ \"import\" ]\n }, {\n title: \"fab fa-usb\",\n searchTerms: []\n }, {\n title: \"fas fa-user\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"far fa-user\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"fas fa-user-circle\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"far fa-user-circle\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"fas fa-user-md\",\n searchTerms: [ \"doctor\", \"profile\", \"medical\", \"nurse\", \"job\", \"occupation\" ]\n }, {\n title: \"fas fa-user-plus\",\n searchTerms: [ \"sign up\", \"signup\" ]\n }, {\n title: \"fas fa-user-secret\",\n searchTerms: [ \"whisper\", \"spy\", \"incognito\", \"privacy\" ]\n }, {\n title: \"fas fa-user-times\",\n searchTerms: []\n }, {\n title: \"fas fa-users\",\n searchTerms: [ \"people\", \"profiles\", \"persons\" ]\n }, {\n title: \"fab fa-ussunnah\",\n searchTerms: []\n }, {\n title: \"fas fa-utensil-spoon\",\n searchTerms: [ \"spoon\" ]\n }, {\n title: \"fas fa-utensils\",\n searchTerms: [ \"food\", \"restaurant\", \"spoon\", \"knife\", \"dinner\", \"eat\", \"cutlery\" ]\n }, {\n title: \"fab fa-vaadin\",\n searchTerms: []\n }, {\n title: \"fas fa-venus\",\n searchTerms: [ \"female\" ]\n }, {\n title: \"fas fa-venus-double\",\n searchTerms: []\n }, {\n title: \"fas fa-venus-mars\",\n searchTerms: []\n }, {\n title: \"fab fa-viacoin\",\n searchTerms: []\n }, {\n title: \"fab fa-viadeo\",\n searchTerms: []\n }, {\n title: \"fab fa-viadeo-square\",\n searchTerms: []\n }, {\n title: \"fab fa-viber\",\n searchTerms: []\n }, {\n title: \"fas fa-video\",\n searchTerms: [ \"film\", \"movie\", \"record\", \"camera\", \"video-camera\" ]\n }, {\n title: \"fab fa-vimeo\",\n searchTerms: []\n }, {\n title: \"fab fa-vimeo-square\",\n searchTerms: []\n }, {\n title: \"fab fa-vimeo-v\",\n searchTerms: [ \"vimeo\" ]\n }, {\n title: \"fab fa-vine\",\n searchTerms: []\n }, {\n title: \"fab fa-vk\",\n searchTerms: []\n }, {\n title: \"fab fa-vnv\",\n searchTerms: []\n }, {\n title: \"fas fa-volleyball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-volume-down\",\n searchTerms: [ \"audio\", \"lower\", \"quieter\", \"sound\", \"music\" ]\n }, {\n title: \"fas fa-volume-off\",\n searchTerms: [ \"audio\", \"mute\", \"sound\", \"music\" ]\n }, {\n title: \"fas fa-volume-up\",\n searchTerms: [ \"audio\", \"higher\", \"louder\", \"sound\", \"music\" ]\n }, {\n title: \"fab fa-vuejs\",\n searchTerms: []\n }, {\n title: \"fas fa-warehouse\",\n searchTerms: []\n }, {\n title: \"fab fa-weibo\",\n searchTerms: []\n }, {\n title: \"fas fa-weight\",\n searchTerms: [ \"scale\" ]\n }, {\n title: \"fab fa-weixin\",\n searchTerms: []\n }, {\n title: \"fab fa-whatsapp\",\n searchTerms: []\n }, {\n title: \"fab fa-whatsapp-square\",\n searchTerms: []\n }, {\n title: \"fas fa-wheelchair\",\n searchTerms: [ \"handicap\", \"person\" ]\n }, {\n title: \"fab fa-whmcs\",\n searchTerms: []\n }, {\n title: \"fas fa-wifi\",\n searchTerms: []\n }, {\n title: \"fab fa-wikipedia-w\",\n searchTerms: []\n }, {\n title: \"fas fa-window-close\",\n searchTerms: []\n }, {\n title: \"far fa-window-close\",\n searchTerms: []\n }, {\n title: \"fas fa-window-maximize\",\n searchTerms: []\n }, {\n title: \"far fa-window-maximize\",\n searchTerms: []\n }, {\n title: \"fas fa-window-minimize\",\n searchTerms: []\n }, {\n title: \"far fa-window-minimize\",\n searchTerms: []\n }, {\n title: \"fas fa-window-restore\",\n searchTerms: []\n }, {\n title: \"far fa-window-restore\",\n searchTerms: []\n }, {\n title: \"fab fa-windows\",\n searchTerms: [ \"microsoft\" ]\n }, {\n title: \"fas fa-won-sign\",\n searchTerms: [ \"krw\", \"krw\" ]\n }, {\n title: \"fab fa-wordpress\",\n searchTerms: []\n }, {\n title: \"fab fa-wordpress-simple\",\n searchTerms: []\n }, {\n title: \"fab fa-wpbeginner\",\n searchTerms: []\n }, {\n title: \"fab fa-wpexplorer\",\n searchTerms: []\n }, {\n title: \"fab fa-wpforms\",\n searchTerms: []\n }, {\n title: \"fas fa-wrench\",\n searchTerms: [ \"settings\", \"fix\", \"update\", \"spanner\", \"tool\" ]\n }, {\n title: \"fab fa-xbox\",\n searchTerms: []\n }, {\n title: \"fab fa-xing\",\n searchTerms: []\n }, {\n title: \"fab fa-xing-square\",\n searchTerms: []\n }, {\n title: \"fab fa-y-combinator\",\n searchTerms: []\n }, {\n title: \"fab fa-yahoo\",\n searchTerms: []\n }, {\n title: \"fab fa-yandex\",\n searchTerms: []\n }, {\n title: \"fab fa-yandex-international\",\n searchTerms: []\n }, {\n title: \"fab fa-yelp\",\n searchTerms: []\n }, {\n title: \"fas fa-yen-sign\",\n searchTerms: [ \"jpy\", \"jpy\" ]\n }, {\n title: \"fab fa-yoast\",\n searchTerms: []\n }, {\n title: \"fab fa-youtube\",\n searchTerms: [ \"video\", \"film\", \"youtube-play\", \"youtube-square\" ]\n }, {\n title: \"fab fa-youtube-square\",\n searchTerms: []\n } ]\n });\n});","/*\r\n * Globalize Culture pl-PL\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function (window, undefined) {\r\n\r\n var Globalize;\r\n\r\n if (typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\") {\r\n // Assume CommonJS\r\n Globalize = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalize = window.Globalize;\r\n }\r\n\r\n Globalize.addCultureInfo(\"pl-PL\", \"default\", {\r\n name: \"pl-PL\",\r\n englishName: \"Polish (Poland)\",\r\n nativeName: \"polski (Polska)\",\r\n language: \"pl\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n \"NaN\": \"nie jest liczbą\",\r\n negativeInfinity: \"-nieskończoność\",\r\n positiveInfinity: \"+nieskończoność\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"zł\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"],\r\n namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\r\n namesShort: [\"N\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"]\r\n },\r\n months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\", \"\"],\r\n namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\", \"\"]\r\n },\r\n monthsGenitive: {\r\n names: [\"stycznia\", \"lutego\", \"marca\", \"kwietnia\", \"maja\", \"czerwca\", \"lipca\", \"sierpnia\", \"września\", \"października\", \"listopada\", \"grudnia\", \"\"],\r\n namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\", \"\"]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"yyyy.MM.dd\",\r\n D: \"d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d MMMM yyyy HH:mm\",\r\n F: \"d MMMM yyyy HH:mm:ss\",\r\n M: \"d MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n });\r\n\r\n}(this));\r\n\r\n$.extend($.validator.messages, {\r\n required: \"Pole wymagane.\",\r\n remote: \"Niepoprawna wartość.\",\r\n email: \"Proszę wprowadzić prawidłowy adres email.\",\r\n url: \"Proszę wprowadzić adres URL.\",\r\n date: \"Proszę wprowadzić datę.\",\r\n dateISO: \"Proszę wprowadzić poprawną datę.\",\r\n number: \"Proszę wprowadzić numer.\",\r\n digits: \"Proszę wprowadzić wyłącznie cyfry.\",\r\n creditcard: \"Proszę wprowadzić poprawny numer karty kredytowej.\",\r\n equalTo: \"Proszę wprowadzić tą samą wartość raz jeszcze.\",\r\n maxlength: $.validator.format(\"Proszę wprowadzić nie więcej niż {0} znaków.\"),\r\n minlength: $.validator.format(\"Proszę wprowadzić nie mniej niż {0} znaków.\"),\r\n rangelength: $.validator.format(\"Proszę wprowadzić od {0} do {1} znaków.\"),\r\n range: $.validator.format(\"Proszę wprowadzić wartość z zakresu od {0} do {1}.\"),\r\n max: $.validator.format(\"Proszę wprowadzić wartość mniejszą lub równą {0}.\"),\r\n min: $.validator.format(\"Proszę wprowadzić wartość większą lub równą {0}.\")\r\n});\r\n\r\nErrorHandling.messages = {\r\n ajaxErrorTitle: \"Błąd Ajax\",\r\n ajaxErrorBody: $.validator.format(\"Wystąpił błąd podczas realizowania żądania AJAX.
    \" +\r\n \"Poniżej znajdują się szczegóły błędu. Jeżeli będzie się on powtarzał, \" +\r\n \"skontaktuj się z administratorem.

    \" +\r\n \"Typ żądania: {0}
    \" +\r\n \"Url: {1}
    \"),\r\n ajaxErrorExceptionClass: $.validator.format(\"Klasa wyjątku: {0}
    \"),\r\n ajaxErrorExceptionMessage: $.validator.format(\"Oryginalna wiadomość: {0}\"),\r\n jsErrorTitle: \"Błąd JavaScript\",\r\n jsErrorBody: $.validator.format(\"Wystąpił błąd JavaScript podczas przetwarzania bieżącego dokumentu. \" +\r\n \"Poniżej znajdują się szczegóły błędu. Jeżeli będzie się on powtarzał, \" +\r\n \"skontaktuj się z administratorem.

    \" +\r\n \"Opis: {0}
    \" +\r\n \"Źródło: {1}
    \" +\r\n \"Linia: {2}\")\r\n}\r\n\r\neRMap.messages = {\r\n determineWayError: \"Nie można wyznaczyć trasy z powodu błędnego adresu początkowego.\",\r\n showMarkersError: \"Nie można wyświetlić lokalizacji placówki z powodu błędnego adresu.\",\r\n initialAddress: \"Adres początkowy...\",\r\n print: \"Drukuj\",\r\n printingMap: \"Drukowanie mapy\",\r\n setRoute: \"Wyznacz trasę\",\r\n traffic: \"Natężenie ruchu\",\r\n language: \"pl\",\r\n}"]}